【问题标题】:Kerberos Constrained Delegation Using IIS 8.5, ASP.Net Core and HttpPlatformHander使用 IIS 8.5、ASP.Net Core 和 HttpPlatformHander 的 Kerberos 约束委派
【发布时间】:2016-09-18 10:42:03
【问题描述】:

我使用最新的 ASP.Net Core 编写了 WebApplication。我们使用 HttpPlatformHandler 和使用匿名身份验证的 IIS 8.5 成功地托管了应用程序。我们需要使用 Kerberos 身份验证并需要使用 Kerberos 约束委派。

我们的运营管理员已设置所有必需的 SPN。我们正在使用服务帐户,并且所有 SPN 似乎都已正确注册。我们有许多具有类似设置的其他应用程序(SSRS SharePoint 等)

在 IIS 中我完成了以下步骤:

  • 创建了一个“无托管代码”和“集成管道”的新 AppPool
  • 我们正在使用“身份”下的服务帐号
  • 创建了一个新的 Web 应用程序
  • “启用”Windows 身份验证,以协商作为主要提供者
  • 匿名身份验证“已禁用”
  • system.webServer/security/authentication/windowsAuthentication“useAppPoolCredentials = True”和“useKernelMode = False”

System.WebServer Security Authentication Windows Authentication Screen Capture

  • 我还确保在 HttpPlatform 配置下 forwardWindowsAuth 令牌设置为 True

HttpPlatform IIS Screen Capture

当我从 WebApi 执行 HttpGet 时,我的应用程序会引发“服务帐户”无法登录到服务器的身份验证错误。 这看起来很奇怪,所以我现在运行 fiddler 跟踪,发现在呈现身份验证页面之前我得到 3 401 错误。

以下结果显示 WWW-Authenticate Header (Negotiate) 似乎是 Kerberos 回复。

【问题讨论】:

    标签: asp.net authentication kerberos


    【解决方案1】:

    我遇到了完全相同的行为 - IIS 设置和 web.config 更改没有任何区别。

    就我而言,我只需要重新启动服务器,这很有趣。首先检查 NTLM 是否正常工作,如果是,那么这可能是您的问题(我猜这与 SPN 相关 - 创建 SPN 后我没有重新启动服务器)。

    【讨论】:

      猜你喜欢
      • 2017-03-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多