我正在开发一个简单的ASP.NET网站,它将在WS2008(IIS7)盒子上的Intranet上运行,并响应运行XP / IE8的用户。一切都是域连接的,我试图像SharePoint一样自动登录用户。
在我的开发机器(XP)上,当通过VS运行网站时,一切正常。我可以完美地接收用户。我使用以下设置:
<authentication mode="Windows"/>
<identity impersonate="true"/>
<anonymousIdentification enabled="false"/>
<authorization>
<allow users="*"/>
<deny users="?"/>
</authorization>
但是,当我发布到WS2008框时,它不起作用。显然,我在IIS7中缺少一个支持此设置的设置。
我在网站上设置了以下身份验证:
Anon Auth - Enabled
ASP.NET Impersonation - Enabled
Basic Auth - Disabled
Forms Auth - Disabled
Windows Auth - Disabled
我错过了什么? 感谢
答案 0 :(得分:6)
尝试从iis禁用匿名登录。转到IIS上站点的安全选项,然后取消选中“启用匿名”登录。确保选中了Windows身份验证。
编辑::如果尝试使用IE登录时出现登录框,则可以设置一个设置,以便IE在Intranet站点中使用时发送用户名。转到工具&gt;互联网选项&gt;安全性并在安全设置中选择使用当前用户名和密码进行自动登录或仅在Intranet区域中自动登录选项您必须确保您尝试使用的站点添加到Intranet区域。
有一个与firefox和chrome类似的设置我相信,但我不知道如何设置它
答案 1 :(得分:1)
您需要在IIS中启用“Windows身份验证”并禁用“Anon Auth”
以下是您应该使用的设置:
Anon Auth - 已禁用
ASP.NET模拟 - 已启用
基本身份验证 - 已禁用
表单身份验证 - 已禁用
Windows身份验证 - 已启用
答案 2 :(得分:0)
还要考虑浏览器的Intranet区域设置以及安全设置。尝试将URL的其他风格/变体添加到IE中的Intranet站点区域。我的理解是这是IE如何确定它是否应该自动提交凭据而不是提示。