从Windows切换到表单身份验证
本文关键字:表单 身份验证 Windows | 更新日期: 2023-09-27 18:21:19
我在一个web项目中使用了windows身份验证。由于所有其他表单都有身份验证,我想在这个特定的项目中也实现它。我关注了这篇文章http://www.codeproject.com/Articles/37558/Windows-Authentication-Using-Form-Authentication并添加了新的登录页面,但在运行该项目后,我被重定向到了以前使用的默认页面。
以下是我对web.config所做的更改:
<authentication mode="Forms">
<forms loginUrl="login.aspx"></forms>
</authentication>
<authorization>
<deny users="?"/>
</authorization>
我可能犯了哪些错误?
从Windows身份验证切换到窗体身份验证时,您需要在IIS中禁用应用程序的Windows身份验证。当您在web.config中启用Forms Authentication时,它不会自动为您执行此操作。
您很可能在应用程序的IIS中同时启用了窗体和Windows身份验证。我相信IIS在这种情况下会默认为Windows身份验证,并绕过您的登录表单。
要进行检查,您可以执行以下操作:
- 转到IIS
- 查找应用程序
- 转到身份验证
- 调整以下内容
- 匿名身份验证:已启用
- ASP.NET模拟:禁用
- 基本身份验证:禁用
- 摘要式身份验证:禁用
- 表单身份验证:已启用
- Windows身份验证:禁用
如果您不想在登录前使用登录页,也可以禁用匿名身份验证。