Windows身份验证在ie7中不起作用

rak*_*los 13 active-directory windows-authentication iis-7.5 internet-explorer-7

真的需要帮助,并尝试了很多东西,没有想法.

我有一个托管在内部开发服务器上的站点,可供内部员工访问.

服务器设置是windows 2008 R2,iis 7.5 sql 2008 express.我使用活动目录进行身份验证.

在Chrome网站上加载,并自动登录我识别我的名字.

在IE7中查看站点时,响应为: "401 - 未授权:由于凭据无效,访问被拒绝.您无权使用您提供的凭据查看此目录或页面."

我尝试过以下方法:

  • 在iis中设置仅启用Windows身份验证(其余已禁用)
  • 将NTLM移动到提供者列表的顶部
  • 给予Everyone/IUSR/Network Service/DeafultAppPool ...列表的完全控制权.
  • 检查ie设置(启用集成Windows身份验证)
  • IE7中的用户身份验证设置为"仅在Intranet区域中自动登录".
  • 在web.config中设置以下内容:
    • <anonymousIdentification enabled="false" />
    • <authentication mode="Windows" />
    • <identity impersonate="false" />
  • 执行: cscript adsutil.vbs set w3svc/NTAuthenticationProviders "NTLM"

当我在IE7中访问内部网时,我确信它不是一个浏览器设置,因为它是针对AD进行身份验证的.

怎么了?我该怎么办呢?

非常感谢

Set*_*eth 20

来自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. 选择您的网站.
  2. 双击身份验证.
  3. 选择"Windows身份验证"(确保已启用).
  4. 点击右侧栏中的"提供商...".
  5. 选择NTLM并单击"上移".

在此输入图像描述


Kon*_*nov 5

在类似的环境中有一个web-apps存在这样的问题.事实证明IE正在尝试使用Kerberos进行身份验证,而在IIS身份验证设置中关闭了Kerberos.Chrome无法使用Kerberos后会降至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
Run Code Online (Sandbox Code Playgroud)

  • 我不得不重新启动服务器以使其受到影响.感谢您的详细步骤...... (2认同)