启用了IIS匿名身份验证,但需要凭据

时间:2019-04-09 12:41:22

标签: authentication iis server permissions

我们在IIS8中托管了一些Web服务,这些服务在使用匿名身份验证集的情况下运行良好。然后几天前,匿名身份验证被禁用,以支持Windows身份验证,这使得无法连接到Web服务。现在我们已恢复为匿名身份验证,但该站点仍要求Windows凭据:

  

HTTP请求未经客户端身份验证方案授权   '匿名'。从服务器收到的身份验证标头为   “谈判,NTLM”。

我们要做的是: 在web.config中:

<system.serviceModel>
<bindings>
    <basicHttpBinding>
        <binding name="CustomHttpBinding" maxBufferSize="2147483647" maxReceivedMessageSize="2147483647">
            <security mode="None">
                <transport clientCredentialType="None" />
            </security>
        </binding>
    </basicHttpBinding>
</bindings>

,并且在IIS管理器中,我们仅选中了“匿名身份验证”:

IIS Authentication

在applicationHost.config文件中,一切似乎正确:

    <location path="Path/WebServices">
    <system.webServer>
        <security>
            <authentication>
                <windowsAuthentication enabled="false" useKernelMode="true">
                    <providers>
                        <clear />
                        <add value="NTLM" />
                        <add value="Negotiate" />
                    </providers>
                    <extendedProtection tokenChecking="None" />
                </windowsAuthentication>
                <anonymousAuthentication enabled="true" />
                <basicAuthentication enabled="false" />
            </authentication>
        </security>
    </system.webServer>

应用程序池,站点和服务器都已重新启动/回收。

我还要去哪里?谢谢。

2 个答案:

答案 0 :(得分:0)

我同意您所显示的内容看起来都是正确的。我建议您检查所有可见的配置,以了解可能适用的所有未看到的匿名/ Windows身份验证。为此,在IIS管理器中,单击左侧的服务器,然后选择配置编辑器。在右侧,选择“搜索配置”。顶部的搜索仅接受“节名称”,因此WindowsAuthentication和AnonymousAuthentication之类的内容都是不错的搜索。查看配置中可能适用于您的网站/应用的每个位置。

答案 1 :(得分:0)

原来,DNS指向的服务器与我进行更改的服务器不同。

相关问题