asp.net - windows身份验证不断提示ie的用户名密码

标签 asp.net iis-7 active-directory iis-7.5 windows-authentication

我正在开发一个将在 Intranet 中使用的应用程序。 我正在通过 Active Directory 对应用程序使用 Windows 身份验证。 但是当我从 ie 中的其他机器访问该应用程序时,它不断提示输入用户名和密码。 我在 web.config 中添加了 Windows 身份验证、身份模拟的设置。 并且 IIS 设置仅启用应用程序 Windows 身份验证。匿名身份验证已禁用。 我的观察是它在 IIS 6 上工作得很好。 但是当我尝试在 IIS 7.5 上托管我的应用程序时,它不断提示用户名和密码。 而且它不适用于 Google Crome。

可能是什么问题???请帮忙...

最佳答案

在同一应用程序中使用 ASP.NET Forms 身份验证和 IIS Windows 身份验证

您有一个 login.aspx 页面,允许您的用户使用表单例份验证登录。但是,您的所有用户还在服务器(或 Active Directory)上拥有 Windows 帐户。由于某种原因,您希望所有用户首先使用其 Windows 凭据登录,然后使用其成员身份凭据和表单例份验证登录。您可以通过在 IIS 中启用 Windows 身份验证并禁用匿名身份验证来实现此目的,这会导致请求在到达 ASP.NET 之前被 IIS 拒绝,从而确保您的用户首先通过 Windows 身份验证进行身份验证。

这适用于经典模式下的 IIS 6.0 和 IIS 7.0。但是,在集成模式下,Windows 和 Forms 身份验证都在单阶段身份验证过程中运行,这使得无法首先使用 Windows 身份验证进行身份验证,然后再使用 Forms 身份验证进行身份验证。此外,由于 Forms 身份验证是为整个应用程序启用的,因此无法为应用程序的一部分启用它,而不是为其他应用程序启用它 - 这会带来一个问题,因为 Forms 身份验证的 302 重定向质询与 401“WWW-Authenticate”不兼容Windows 身份验证使用的质询。 Forms auth 始终会将对应用程序的未经授权的请求转换为 302 重定向,从而破坏 Windows 身份验证。

有关更多详细信息,请参阅 this link.

关于asp.net - windows身份验证不断提示ie的用户名密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15498020/

相关文章:

jquery - 设置隐藏 <asp :Label> visible with jQuery show()

css - Internet Explorer 字体 ssl

active-directory - Tridion 中的配置更改以便与事件目录交互

asp.net - IIS7重写规则强制域上指定页面小写

visual-studio - 查询 AD 抛出 System.Runtime.InteropServices.COMException

c# - System.DirectoryServices.DirectorySearcher.PropertiesToLoad 中有哪些不同的可用属性

c# - asp gridview中需要加一条横线来划分行

javascript - 将 VB.net aspx Web 应用程序中的 XML 文件保存到文件夹

asp.net - 从 ASP.NET IIS 运行时,Powershell 启 Action 业、等待作业、主机线程永远不会退出

iis - IIS7 中的 DefaultAppPool 和经典 .NET AppPool 有什么区别?