-1

我正在苦苦挣扎,希望你能帮助我。

场景:我在测试服务器上编写了一个 Web 应用程序,一切正常。我将完成的应用程序移动到实时系统,如果在 IIS 上启用了 Windows 身份验证,我会收到 HTTP 401 错误。我通过在服务器名称上设置 SPN 解决了​​这个问题,例如

setspn -a http/contoso contoso

但它需要与我的服务帐户一起使用。我为服务帐户设置了 spn,例如:

setspn -a http/contoso.com mydomain\serviceaccount setspn -a http/contoso mydomain\serviceaccount

应用程序池作为 mydomain\serviceaccount 运行。在 Active Directory 中为此帐户设置了 Kerberos 委派。但仍然得到 401 错误。出于测试目的,服务帐户在此服务器上具有管理员角色。

4

1 回答 1

0

这看起来像是一个重复的 SPN 问题。我相信您通过为服务帐户添加 SPN 已经完成了所有正确的事情,但是您需要在 IIS 中再采取一步来确保实际使用应用程序池凭据。

单击网站,然后在中心面板中单击配置编辑器。导航到“system.webServer/security/authentication/windowsAuthentication”,在这里将“useAppPoolCredentials”设置为true,将“UsekernelMode”设置为false。

按照这篇文章了解更多信息 - https://blogs.msdn.microsoft.com/chiranth/2014/04/17/setting-up-kerberos-authentication-for-a-website-in-iis/

于 2018-02-08T07:42:40.303 回答