如何自动验证Windows集成而无需登录弹出窗口?

时间:2011-01-21 18:59:32

标签: c# asp.net iis

我用default.aspx写了一个asp.net应用程序。当我点击此页面时,它询问我的Windows登录弹出窗口。我的应用程序应该我需要Windows身份验证,但它应该“集成Windows身份验证”。如果我输入登录密码,我可以看到我的页面。

如何自动整合此Windows身份验证?

我在web.config中添加了以下代码。仍然不起作用。

<authentication mode="Windows"/>
    <identity impersonate="false"/>
    <authorization>
        <deny users="?"/>
    </authorization>

alt text

4 个答案:

答案 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中的身份和授权节点。请记住,并非所有浏览器都支持此功能,大多数浏览器仍会提示您进行身份验证。