繁体   English   中英

使用基本身份验证调试本地WCF服务始终返回401-未经授权

[英]Debug local WCF service with Basic Authentication always returns 401 - Unauthorized

访问使用基本身份验证的.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。我无权访问我在自己的计算机上运行的服务器自己的凭证。 对我做错了什么有帮助吗?

您可以在使用WCF服务的应用程序中尝试以下操作

WCFServiececlient.ClientCredentials.Windows.AllowedImpersonationLevel = TokenImpersonationLevel.Impersonation;
WCFServiececlient.ChannelFactory.Credentials.Windows.ClientCredential = System.Net.CredentialCache.DefaultNetworkCredentials;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM