在IIS上使用C#实现Kerberos身份验证

时间:2015-10-08 17:01:06

标签: authentication windows-authentication kerberos ntlm

我已经在IIS中配置了kerberos设置,但它仍然回退到NTLM身份验证。

您能否告诉我适当的kerberos故障排除方法。

您能否在c#中解释有关kerberos实现的详细信息(配置和代码实现)。

提前致谢。

1 个答案:

答案 0 :(得分:2)

Kerberos很难解决问题,如果它无法使用NTLM,你必须集体讨论你的配置。

要测试,您可以先使用浏览器插件分析请求/响应标头(我使用Httpfox for firefox),或者使用ASP.NET身份验证测试页面,这可能会帮助您进一步http://blogs.msdn.com/b/friis/archive/2013/01/08/asp-net-authentication-test-page.aspx

请记住,如果出现以下情况,kerberos可能会失败:

  • 尝试从实际的IIS服务器计算机登录
  • 使用IP地址而不是名称
  • 没有SPN注册
  • 重复注册的SPN
  • SPN针对错误的帐户注册(KRB_ERR_AP_MODIFIED)
  • 没有客户端DNS / DC连接
  • 客户端代理设置/本地Intranet区域未用于目标站点 另请检查配置以获取更新

关于下一个问题:

  

您能否在c#中解释有关kerberos实现的详细信息(配置和代码实现)。

它更广泛,我不能比我们在这里找到的优秀文章更短:“使用C#和Kerberos(POC)进行Web服务身份验证”http://www.codeproject.com/Articles/27554/Authentication-in-web-services-using-C-and-Kerbero

如果您获得有关错误的更多详细信息,请进行更新。