我用default.aspx写了一个asp.net应用程序。当我点击此页面时,它询问我的Windows登录弹出窗口。我的应用程序应该我需要Windows身份验证,但它应该“集成Windows身份验证”。如果我输入登录密码,我可以看到我的页面。
如何自动整合此Windows身份验证?
我在web.config中添加了以下代码。仍然不起作用。
<authentication mode="Windows"/>
<identity impersonate="false"/>
<authorization>
<deny users="?"/>
</authorization>
答案 0 :(得分:4)
我会关闭启用匿名访问并只使用“集成Windows身份验证”。此外,如果您使用的是FireFox,则在没有一些解决方法的情况下,无法使用已登录用户的域令牌。所以我会尽量坚持使用IE,以便更容易(没有弹出窗口)。
答案 1 :(得分:4)
您可能希望禁用匿名访问,只需使用“集成Windows身份验证”。
然后在Internet Explorer中转到工具 - &gt;互联网选项 - &gt;安全 - &gt;自定义级别 - &gt;滚动到底部并选择“使用当前用户名和密码自动登录” - &gt;确定 - &gt;确定 - &gt;关闭并重新打开浏览器。
这应该允许AD身份验证的用户直接进入您的页面。
答案 2 :(得分:3)
您无法从服务器端做很多事情。但是,您的客户(例如,如果他们是您的机构成员)可以将您的站点添加到IE中的本地Intranet安全区域。
Tools - Internet Options - Security - Local Intranet - Sites
请注意,这可能仅适用于IE客户端。
默认情况下,IE会自动将当前Windows凭据发送到本地Intranet区域中请求授权的站点。
这样,每次访问您的网站时都不会提示他们提供凭据。
答案 3 :(得分:2)
您需要在IIS中取消选中Enable anonymous access
,还可以删除web.config中的身份和授权节点。请记住,并非所有浏览器都支持此功能,大多数浏览器仍会提示您进行身份验证。