我使用最新的ASP.Net Core编写了WebApplication。我们使用匿名身份验证使用HttpPlatformHandler和IIS 8.5成功托管应用程序。我们需要使用Kerberos身份验证,并且需要使用Kerberos约束委派。
我们的运营管理员已设置了所有必需的SPN。我们正在使用服务帐户,并且所有SPN似乎都已正确注册。我们有许多其他应用程序(SSRS SharePoint等)具有类似的设置
在IIS中,我完成了以下步骤:
System.WebServer Security Authentication Windows Authentication Screen Capture
HttpPlatform IIS Screen Capture
当我从WebApi执行HttpGet时,我的应用程序抛出了一个身份验证错误,即"服务帐户"无法登录服务器。 这看起来很奇怪,所以我现在正在运行一个小提琴跟踪,发现在认证页面呈现之前我得到了3 401个错误。
下面的结果显示WWW-Authenticate Header(Negotiate)似乎是Kerberos回复。
答案 0 :(得分:0)
我遇到了完全相同的行为 - IIS设置& web.config的更改没有任何区别。
在我的情况下,我只需要重新启动服务器,这很有趣。检查NTLM是否正常工作,如果是,那么这可能是你的问题(我猜这是与SPN相关的 - 我在创建SPN后没有重新启动服务器。)