ASP.NET / Active Directory – 支持域用户的自动登录

我正在开发一个简单的ASP.NET网站,它将在WS2008(IIS7)盒子上的Intranet上运行,并响应运行XP / IE8的用户。 一切都是域连接的,我试图像SharePoint一样自动登录用户。

在我的开发机器(XP)上,当通过VS运行站点时,一切正常。 我可以完美地接收用户。 我使用以下设置:

       

但是,当我发布到WS2008框时,它不起作用。 显然,我在IIS7中缺少一个支持此设置的设置。

我在网站上有以下身份validation设置:

 Anon Auth - Enabled ASP.NET Impersonation - Enabled Basic Auth - Disabled Forms Auth - Disabled Windows Auth - Disabled 

我错过了什么? 谢谢

尝试从iis禁用匿名登录。 转到IIS上站点的安全选项,然后取消选中“启用匿名”登录。 确保选中Windows身份validation。

编辑::如果尝试使用IE登录时出现登录框,则可以设置一个设置,以便IE在Intranet站点中使用时发送用户名。 转到工具> Internet选项>安全性,然后在安全设置中选择“ 使用当前用户名和密码 自动登录”或“ 仅在Intranet区域中自动登录 ”选项您必须确保在Intranet区域中添加了您尝试使用的站点。

我相信firefox和chrome有类似的设置,但我不知道如何设置它

您需要在IIS中启用“Windows身份validation”并禁用“Anon Auth”

以下是您应该使用的设置:

Anon Auth – 已禁用

ASP.NET模拟 – 已启用

基本身份validation – 已禁用

表单身份validation – 已禁用

Windows身份validation – 已启用

还要考虑浏览器的Intranet区域设置以及安全设置。 尝试将URL的其他风格/变体添加到IE中的Intranet站点区域。 我的理解是这是IE如何确定它是否应该自动提交凭据而不是提示。