首页 文章

此服务的安全设置需要Windows身份验证

提问于
浏览
1

我有一个ASP.NET MVC站点,其中包含托管在负载 balancer 的Intranet站点(2台服务器)上的WCF SVC . 据我所知,出于安全原因,我们的Web服务器团队不允许对我们的Intranet Web应用程序进行匿名身份验证,默认情况下使用Windows身份验证 . 我可以在localhost上访问SVC,但在尝试访问服务器时,我收到以下错误消息:

System.NotSupportedException:此服务的安全设置需要Windows身份验证,但未为承载此服务的IIS应用程序启用 .

我在StackOverflow上发现了类似的问题,给出的答案并没有解决我的具体问题 . 这是我目前服务区域的web.config ...

<system.serviceModel>
    <serviceHostingEnvironment aspNetCompatibilityEnabled="true"/>
    <client />
    <bindings>
      <basicHttpBinding>
        <binding name="basicHttpBinding_IClarityIntegration">
          <security mode="TransportCredentialOnly">
            <transport clientCredentialType="Windows" />
          </security>
        </binding>
      </basicHttpBinding>
    </bindings>
    <behaviors>
      <serviceBehaviors>
        <behavior name="ClarityIntegrationBehavior">
          <serviceDebug includeExceptionDetailInFaults="true" />
        </behavior>
      </serviceBehaviors>
    </behaviors>
    <services>
      <service behaviorConfiguration="ClarityIntegrationBehavior"
        name="ClarityIntegration.MVC.Web.Services.ClarityIntegration">
        <endpoint address="" binding="basicHttpBinding" bindingConfiguration="basicHttpBinding_IClarityIntegration"
          contract="ClarityIntegration.MVC.Web.Services.IClarityIntegration">
        </endpoint>
      </service>
    </services>
  </system.serviceModel>

1 回答

  • 1

    此问题实际上是由WCF服务本身内的异常引起的 . 不知道为什么它最终以这种方式响应,但在找到异常并修复它之后,这个问题就消失了 .

相关问题