2009-10-21 42 views
2

背景(只是相关的部分): 我们有一个大的intranet asp.net 2.0/3.5应用程序。
Web服务器是AD域中的Windows Server 2003。
客户端在Windows,IE 6-8。 Windows身份验证,使用从Windows身份创建的自定义主体。 Web服务器位于将用户转发到特定Web服务器的F5 NLB后面。 (这是因为我们公司的F5处理有Kerberos的限制)。 没有系统范围的问题,例如丢弃会话,超时或超载服务器,一切运行良好。ASP.net kerberos零星地下降到NTLM

一件功能需要委托 - 我们使用域/ Web服务器给予我们的Kerberos令牌连接到网络文件共享,作为经过验证的用户。

SPN,ACL等似乎设置正确。

99%的时间,这一切正常。我们看到的问题是每隔一段时间刷新一次,令牌从kerberos下降到ntlm。我可以看到在显示一个电话得到这个Web服务器的事件日志登录:

登录过程:Kerberos身份 身份验证包:Kerberos

和随后的电话(通常在10个或20的页面加载)得到这个:

登录进程:NtLmSsp 身份验证数据包:NTLM

任何人有任何见解,以什么可能会使得后续的回传有时候去NTLM?

谢谢!

回答

2

您需要确定问题的所有工具和技巧都在Troubleshooting Kerberos Errors。那份文件从未让我失望。

NTLM回退
您可能会发现 安全日志中记录 事件使用NTLM时 应该使用Kerberos身份验证 已发生的登录发生。

问题
有些情况下,这可能会发生2种 情况:
- 第一种情况是 系统尝试使用认证的 Kerberos协议在那里,但它失败。如果结果为 ,则系统尝试使用NTLM对 进行身份验证。 Windows Server 2003,Windows XP和Windows 2000使用称为Negotiate (SPNEGO)的算法来协商使用哪种认证协议。 虽然Kerberos协议默认为 ,但如果默认失败,则协商将尝试NTLM。
- 第二个 情况是其中对 协商的调用返回NTLM作为唯一可用的 协议。

确认
的 第一种情况会导致 失败是 您可以通过网络监视器捕获的事件日志或数据包 检查 错误调查Kerberos身份验证。 这两种调查方法是 在本文后面讨论...

+0

好,以前没有见过。谢谢! – 2009-10-21 17:20:54