[英]WCF Service Application does not allow basic authentication configuration
我有一个使用.NET Fraweork 4.5.2的WCF服务应用程序,以及一个将Managed pipeline mode
设置为Integrated
的应用程序池。 我使用基本身份验证来使用此WCF服务。 我已经将应用程序部署到两个环境( dev
和qa
)中,在dev
它可以正常工作,但是在qa
,出现以下错误:
下面是应用程序的IIS身份验证配置:
这是我的web.config
:
<system.serviceModel>
<bindings>
<basicHttpBinding>
<binding>
<security mode="TransportCredentialOnly">
<transport clientCredentialType="Basic" />
</security>
</binding>
</basicHttpBinding>
</bindings>
<services>
<service name="MyProject.IS01"
behaviorConfiguration="ServiceWithMetaData">
<endpoint name="Default"
address=""
binding="basicHttpBinding"
contract="MyProject.IIS01" />
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="ServiceWithMetaData">
<serviceMetadata httpGetEnabled="true" httpsGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="false" />
</behavior>
</serviceBehaviors>
</behaviors>
<serviceHostingEnvironment
aspNetCompatibilityEnabled="true"
multipleSiteBindingsEnabled="true" />
</system.serviceModel>
<system.webServer>
<modules runAllManagedModulesForAllRequests="true">
<add name="ErrorLog" type="Elmah.ErrorLogModule, Elmah" preCondition="managedHandler" />
<add name="ErrorMail" type="Elmah.ErrorMailModule, Elmah" preCondition="managedHandler" />
<add name="ErrorFilter" type="Elmah.ErrorFilterModule, Elmah" preCondition="managedHandler" />
</modules>
<directoryBrowse enabled="true" />
<validation validateIntegratedModeConfiguration="false" />
</system.webServer>
消息错误的第一句话对我来说非常难懂。 它说身份验证设置为Windows
,但是如您在第二张屏幕截图中所见,Windows身份验证被禁用。
配置中缺少什么? 是否应该在托管IIS的服务器上激活某些功能?
我提到我在Google上发现的所有问题都与匿名身份验证有关(而不是基本身份验证)。
提前致谢。
这是因为您在服务端点中缺少BindingConfiguration
设置,因此根本没有应用该配置。 如下更改
<bindings>
<basicHttpBinding>
<binding name="testbinding">
<security mode="TransportCredentialOnly">
<transport clientCredentialType="Basic" />
</security>
</binding>
</basicHttpBinding>
</bindings>
<services>
<service name="MyProject.IS01" behaviorConfiguration="ServiceWithMetaData">
<endpoint name="Default" address="" binding="basicHttpBinding"
contract="MyProject.IIS01" bindingConfiguration="testbinding" />
</service>
</services>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.