我创建了一个使用Windows身份验证的Intranet站点
在Chrome中我可以立即访问该站点,在FF中它需要Active Directory登录。 但是对于IE7,我收到以下错误:
401 - 未经授权:由于凭据无效,访问被拒绝。 您无权使用您提供的凭据查看此目录或页面。
我不确定为什么它在其他浏览器中可以,但不是IE? 任何帮助表示赞赏。
由于
答案 0 :(得分:25)
IE正在使用Kerberos而不是像Chrome和Firefox那样回归NTLM。您必须按照以下步骤在IIS7.5中强制执行NTLM身份验证:
答案 1 :(得分:0)
我不熟悉IIS,但在过去的几周里,我在将AD登录集成到Web应用程序方面拥有丰富的实践经验。这是非常合乎逻辑的 - 每个Microsoft产品都可以更好地与其他产品集成,只要您使用Active Directory进行Windows登录身份验证方法,Internet Explorer(应该对所有版本有效,而不仅仅是7个)会自动传递您的AD登录凭据
每个其他浏览器都需要配置为执行此操作,要求您手动键入它们或根本不支持它。这就解释了为什么Firefox要求您输入用户名和密码。在Opera下,您很可能会收到相同的错误消息。
我对Chrome的猜测是它是您选择的默认浏览器,并且在某个时间点,您已输入登录信用卡并且该会话仍然有效。
所有这些都意味着(如果我的假设是正确的)您需要使用不同的AD帐户登录此应用程序而不是Windows,后者(由IE自动传递)未经授权。
答案 2 :(得分:0)
首先查看here并获取更详细的错误说明。我有一些疯狂的CRM问题,这一切都归结为IIS中的设置顺序,问题的答案最终变得如此简单; 进入iis然后验证设置 单击Windows身份验证并选择高级 确保内核模式已打开 点击提供商并确保谈判高于NTLM。
答案 3 :(得分:0)
听起来您的环境设置不正确,无法进行Kerberos身份验证。有许多事情可能导致Kerberos身份验证失败。例如。服务器或客户端上的时钟偏差,Web服务器上缺少SPN等
通常,当您配置使用Windows身份验证时,您要求使用SPNEGO,这意味着尽可能使用Kerberos,如果Kerberos失败则返回NTLM。但是,post指出这不再是真的。在某些情况下,IE7在Kerberos停止,但不会退回到NTLM。
您可以尝试按照建议的post禁用“启用集成Windows身份验证”。它看起来很奇怪,但它实际上只是关闭了SPNEGO,你仍然会使用NTLM。
我猜Firefox和Chrome之所以有效,是因为他们使用的是NTLM而不是Kerberos。根据我的经验,非Microsoft浏览器不会开箱即用Kerberos。您需要进行一些配置工作才能实现。例如,在FireFox中,您需要设置network.negotiate-auth.trusted-uris参数。见here
一旦确认IE7的NTLM仍然正常工作。然后,您可以发布另一个问题,询问如何修复IIS的Kerberos身份验证问题。