IIS托管WCF REST服务监听提示输入Windows身份验证凭据 [英] IIS Hosted WCF Rest Service keeeps prompting for Windows Auth Credentials

查看:0
本文介绍了IIS托管WCF REST服务监听提示输入Windows身份验证凭据的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在构建一个WCF REST服务。该服务在IIS中的一个SSL下托管。并且我在IIS设置中已将站点设置为在禁用匿名身份验证的情况下使用Windows身份验证。

但是,当我尝试在浏览器中导航到service.svc文件以测试Windows身份验证时,系统会按预期提示我的凭据。然而,在输入我的证书后,它不断地提示我一遍又一遍。我不知道为什么或者我错过了什么。

如果我重新启用匿名身份验证并导航到service.svc文件,则会加载wsdl数据..但据我所知,此时不再使用Windows身份验证。

我已经在IE和Firefox中测试过这一点,它们做的都是一样的事情。

这是我的web.config

<system.serviceModel>
<bindings>
  <webHttpBinding>
    <binding name="WebHttpBindingConfig">
      <security mode="TransportCredentialOnly">
        <transport clientCredentialType="Windows" proxyCredentialType="Windows"/>
      </security>
    </binding>
  </webHttpBinding>
</bindings>
<behaviors>
  <serviceBehaviors>
    <behavior name="httpEnabled">
      <serviceMetadata httpGetEnabled="true" httpsGetEnabled="true" />
      <serviceCredentials>
        <windowsAuthentication allowAnonymousLogons="False" includeWindowsGroups="True"/>
      </serviceCredentials>
    </behavior>
  </serviceBehaviors>
  <endpointBehaviors>
    <behavior name="EndpBehavior">
      <webHttp helpEnabled="true"/>
    </behavior>
  </endpointBehaviors>
</behaviors>
<services>
  <service name="myService" behaviorConfiguration="httpEnabled">
    <endpoint address="" binding="webHttpBinding" contract="myContract" behaviorConfiguration="EndpBehavior" bindingConfiguration="WebHttpBindingConfig" />
  </service>
</services>

任何弄清楚这一点的帮助都是很好的。如果您需要任何其他信息,请让我知道。谢谢。

问题:尝试在浏览器中查看Service.svc时,不断提示输入凭据。 预期结果:输入有效凭据后,应加载Service.svc页面

编辑: 我本打算贴出Auth设置的图片和一个能给人以视觉效果的例子,但我还没有足够的声誉。抱歉。

推荐答案

我想出来了。这最终是一个服务器配置问题。我发现我可以用有效的证书从远程机器加载Service.svc文件。于是,我搜索了一下,找到了下面这篇文章:

http://warnajith.blogspot.com/2011/06/iis-75-401-unauthorized-access-error.html

问题是我需要禁用Loopback Check。因此,在我按照该页面上的步骤更新注册表之后,它正确加载了

注意:如果您使用的是Windows 2012服务器,则不需要执行提供的链接中的第1步。

希望这能在未来帮助其他人。

这篇关于IIS托管WCF REST服务监听提示输入Windows身份验证凭据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆