真的需要帮助,尝试了很多事情并且没有想法。
我在内部开发服务器上托管了一个站点,可供内部员工访问。
服务器设置是windows 2008 R2,iis 7.5 sql 2008 express。我使用活动目录进行身份验证。
在Chrome网站中加载,并自动让我识别我的名字。
在IE7中查看网站时,响应是: “401 - 未经授权:由于凭据无效,访问被拒绝。 您无权使用您提供的凭据查看此目录或页面。“
我尝试了以下内容:
<anonymousIdentification enabled="false" />
<authentication mode="Windows" />
<identity impersonate="false" />
cscript adsutil.vbs set w3svc/NTAuthenticationProviders "NTLM"
有什么不对?我该如何解决?
非常感谢
答案 0 :(得分:19)
来自technet文章http://technet.microsoft.com/en-us/library/cc754628(v=ws.10).aspx:
Windows身份验证的默认设置是Negotiate。这个 设置意味着客户端可以选择适当的安全性 支持提供商。要强制NTLM身份验证,您必须更改 该元素的价值 ApplicationHost.config文件中的元素。
IE正在使用Kerberos而不是像Chrome和Firefox那样回归NTLM。您必须按照以下步骤在IIS7.5中强制执行NTLM身份验证:
答案 1 :(得分:5)
在类似的环境中有一个网络应用程序出现此类问题。事实证明IE正在尝试使用Kerberos进行身份验证,而在IIS身份验证设置中关闭了Kerberos。无法使用Kerberos后Chrome正在降至NTLM,因此在Chrome网络应用中工作正常。
解决方案相当简单。
1. Open IIS manager
2. Open "Authentification" node
3. Right click on 'Windows Authentification' item.
4. Select "Advanced settings" in context menu.
5. Switch off kernel mode (it's not compartible with Kerberos provider.)
6. Repeat p.1-3.
7. Select "Providers..." in context menu
8. Add Kerberos to enabled providers list
9. Restart IIS
答案 2 :(得分:1)
我在Windows 2008 R2 iis 7.5上使用模拟进行Windows身份验证时遇到了同样的问题。 我在这里没有任何成功地跟随其他2个解决方案。 但在应用这些更改后,我再次切换回内核模式并且它工作正常。 我不知道它为什么会起作用,但是已经成功地在2个独立的虚拟目录上执行了这个过程。