问题描述
背景(仅相关片段):
我们有一个大型内部网ASP.NET 2.0/3.5应用程序。
Web服务器是AD域上的Windows Server 2003。
客户端使用的是Windows,IE 6-8。
Windows身份验证,具有从Windows身份创建的自定义主体。
Web服务器位于F5 NLB之后,后者将用户转发到特定的Web服务器。(原因是我们公司与Kerberos的F5交易存在限制)。
没有出现会话中断、超时或服务器超载等系统范围的问题,总体上一切运行正常。
有一项功能需要委派--我们使用域/Web服务器提供的Kerberos令牌,以经过身份验证的用户身份连接到网络文件共享。 SPN、ACL等似乎设置正确。
99.x%的情况下,它都能正常工作。我们看到的问题是,在刷新时,令牌会从Kerberos下降到NTLM。我可以在Web服务器的事件日志上看到登录,显示一个调用收到以下内容:
登录过程:Kerberos 身份验证包:Kerberos和后续调用(通常在加载10个或20个页面之后)得到以下结果:
登录流程:NtLmSsp 身份验证包:NTLM有人知道是什么原因可能导致后续回发有时转到NTLM吗?
谢谢!
推荐答案
您识别问题所需的所有工具和技术都在Troubleshooting Kerberos Errors中。这份文件从未让我失望过。
NTLM后备
您可能会发现, 安全日志记录了中的事件 在以下情况下使用NTLM进行了哪次登录 它应该是使用Kerberos发生的 身份验证。问题
有两个 可能发生这种情况的情况:
-第一种情况是 系统尝试使用以下工具进行身份验证 Kerberos协议,但它失败了。AS 因此,系统会尝试 使用NTLM进行身份验证。窗口 服务器2003、Windows XP和Windows 2000使用一种称为协商的算法 (SPNEGO)谈判 使用身份验证协议。 尽管Kerberos协议是 默认设置,如果默认设置失败, 协商将尝试NTLM。
-第二次 情况是一种调用 协商返回NTLM作为唯一 协议可用。确认
这个 第一种情况将导致 Kerberos身份验证失败 您可以通过查看 事件日志或数据中的错误 网络监视器捕获的数据包。 这两种调查方法都是 在本文档后面讨论...
这篇关于ASP.NET Kerberos偶尔下传到NTLM的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!