IIS 无法验证域用户:401.2

IIS 无法验证域用户:401.2

我在正确配置 IIS 身份验证方面遇到了很多麻烦。我有一个在 IIS 6.0 下运行的 SharePoint 网站,并且该 IIS 网站配置为集成 Windows 身份验证。Web 服务器位于名为 的域上STAGING,我的大多数用户都位于另一个名为 的域中CORPCORP用户拥有STAGING域帐户,并且能够跨域登录 SharePoint 网站(例如,用户登录到他们的CORP工作站并能够登录网站)。但是,STAGING域用户无法从域内登录STAGING。我的理解是STAGING域用户应该能够访问该网站而无需提示输入凭据,但事实并非如此。即便如此,一旦输入凭据,结果始终是 401。

我查看了 Fiddler 中的 HTTP 会话,发现服务器似乎不接受客户端浏览器发送的协商凭据。以下是简要记录:

HTTP GET  server /sites/mysite with headers: { }
    --> 401.2, with headers: { WWW-Authenticate: Negotiate, WWW-Authenticate: NTLM }
HTTP GET  server /sites/mysite with headers: { Authorization: Negotiate <digest1> }
    --> 401.1, with headers: { WWW-Authenticate: Negotiate <digest2> }
HTTP GET  server /sites/mysite with headers: { Authorization: Negotiate <digest3> }
    --> 401.1, with headers: { WWW-Authenticate: Negotiate <digest4> }

GET/401.1 循环重复 3 次,然后浏览器最终放弃。

我希望如果我正确配置了所有内容,域内的客户端只需传递凭据,生活就会很好,但事实并非如此,生活并不好 :-(

有人有什么建议吗?

答案1

听起来像是 Kerberos/SPN 问题。简单的解决方法是禁用 Kerberos 以支持 NTLM。您可以在 Sharepoint 的中央管理站点中执行此操作。

您还可以将您网站的 SPN 添加到 SharePoint 服务帐户。

相关内容