访问使用基本身份验证的.Net WCF服务时遇到问题。服务器的web.config文件具有如下配置的服务:
<services>
<service behaviorConfiguration="serviceBehavior" name="api.GlobalService">
<endpoint address="" behaviorConfiguration="restBehavior" binding="basicHttpBinding"
bindingConfiguration="Basic" contract="api.IGlobalService" />
</service>
</services>
具有绑定:
<bindings>
<basicHttpBinding>
<binding name="Basic">
<security mode="TransportCredentialOnly">
<transport clientCredentialType="Basic"/>
</security>
</binding>
</basicHttpBinding>
</bindings>
在我的IIS Express配置文件中,我启用了基本身份验证,如下所示:
<basicAuthentication enabled="true" />
我正在本地主机上的调试模式下运行它,并且我不需要自定义基本身份验证,而是希望它针对Windows凭据进行身份验证。我可以直接从浏览器访问服务器,并在出现提示时输入Windows凭据,也可以使用基本身份验证和凭据从Postman输入Windows凭据,但是我总是收到401。我无权访问我在自己的计算机上运行的服务器自己的凭证。对我做错了什么有帮助吗?
答案 0 :(得分:0)
您可以在使用WCF服务的应用程序中尝试以下操作
WCFServiececlient.ClientCredentials.Windows.AllowedImpersonationLevel = TokenImpersonationLevel.Impersonation;
WCFServiececlient.ChannelFactory.Credentials.Windows.ClientCredential = System.Net.CredentialCache.DefaultNetworkCredentials;