我正在开发一个将在Intranet中使用的应用程序。 我正在使用Windows身份验证与Active Directory的应用程序。 但是当我从其他机器访问应用程序时,它会不断提示输入用户名和密码。 我在web.config中添加了用于Windows身份验证,身份模拟的设置。 并且启用了仅应用程序Windows身份验证的IIS设置。匿名身份验证已禁用。 我的观察是它适用于IIS 6。 但是当我尝试在IIS 7.5上托管我的应用程序时,它会不断提示用户名和密码。 它也不适用于Google Crome。
可能是什么问题???请帮忙......
答案 0 :(得分:2)
在同一应用程序中使用ASP.NET Forms身份验证和IIS Windows身份验证
您有一个login.aspx页面,允许您的用户使用Forms身份验证登录。但是,您的所有用户也在服务器(或Active Directory)上拥有Windows帐户。出于某种原因,您希望所有用户首先使用其Windows凭据登录,然后使用其成员身份凭据和表单身份验证登录。您可以通过启用Windows身份验证并在IIS中禁用匿名身份验证来实现此目的,这会导致IIS在到达ASP.NET之前拒绝该请求,从而确保您的用户首先通过Windows身份验证进行身份验证。
这适用于IIS 6.0和经典模式下的IIS 7.0。但是,在集成模式下,Windows和Forms身份验证在单阶段身份验证过程中运行,这使得无法首先使用Windows身份验证进行身份验证,然后使用Forms身份验证进行身份验证。此外,由于为整个应用程序启用了表单身份验证,因此无法为应用程序的某个部分启用它而不能为其他应用程序启用它 - 这会产生问题,因为表单身份验证的302重定向质询与401“WWW-Authenticate”不兼容“Windows身份验证使用的挑战。表单身份验证将始终将未经授权的请求转换为302重定向,从而破坏Windows身份验证。
有关详细信息,请参阅this link.