C# 从Windows切换到窗体身份验证
我一直在从事的一个web项目中使用了windows身份验证。由于所有其他表单都有身份验证,我想在这个特定项目中也实现它。我跟随本文添加了新的登录页面,但在运行project之后,我被重定向到它以前使用的默认页面 以下是我对web.config所做的更改:C# 从Windows切换到窗体身份验证,c#,asp.net,authentication,webforms,C#,Asp.net,Authentication,Webforms,我一直在从事的一个web项目中使用了windows身份验证。由于所有其他表单都有身份验证,我想在这个特定项目中也实现它。我跟随本文添加了新的登录页面,但在运行project之后,我被重定向到它以前使用的默认页面 以下是我对web.config所做的更改: <authentication mode="Forms"> <forms loginUrl="login.aspx"></forms> </authentication> <autho
<authentication mode="Forms">
<forms loginUrl="login.aspx"></forms>
</authentication>
<authorization>
<deny users="?"/>
</authorization>
我可能会犯什么错误?从Windows身份验证切换到窗体身份验证时,您需要在IIS中为应用程序禁用Windows身份验证。当您在web.config中启用表单身份验证时,它不会自动为您执行此操作
在应用程序的IIS中,很可能同时启用了窗体和Windows身份验证。我相信在这种情况下,IIS将默认为Windows身份验证,并绕过您的登录表单
要进行检查,可以执行以下操作:
转到IIS
找到您的应用程序
转到身份验证
调整以下各项:
匿名身份验证:已启用
ASP.NET模拟:已禁用
基本身份验证:已禁用
摘要身份验证:已禁用
表单身份验证:已启用
Windows身份验证:已禁用
如果您不想在登录前使用登录页,也可以禁用匿名身份验证。您是否修改了IIS中的设置以禁用Windows身份验证?我似乎没有足够的权限修改身份验证。但是,Windows和窗体身份验证都被禁用。唯一启用的选项是匿名身份验证和ASP.NET模拟。您需要查看是否可以启用表单身份验证和禁用ASP.NET模拟,除非您在某个地方的应用程序实现中确实需要这样做。您的表单身份验证实现将处理针对Active Directory的身份验证,您至少不会为此目的使用模拟。