Asp.net 表单身份验证的正确IIS 6配置
我正在当前的ASP.NET Web应用程序(不是MVC)中使用表单身份验证,并且我的IIS 6服务器配置了以下选项: 在[directory security tab]->[Authentication Methods]中,我有:Asp.net 表单身份验证的正确IIS 6配置,asp.net,configuration,iis-6,security,Asp.net,Configuration,Iis 6,Security,我正在当前的ASP.NET Web应用程序(不是MVC)中使用表单身份验证,并且我的IIS 6服务器配置了以下选项: 在[directory security tab]->[Authentication Methods]中,我有: 已启用匿名访问 已启用集成windows身份验证 上述选项是否会阻止表单身份验证正常工作?换句话说,表单身份验证的正确IIS 6配置是什么 编辑 我刚刚在启用上述两个选项的情况下进行了测试,表单身份验证会话已过期,并将我重定向到登录页面,但到目前为止,所有答案都建
- 已启用匿名访问
- 已启用集成windows身份验证
我刚刚在启用上述两个选项的情况下进行了测试,表单身份验证会话已过期,并将我重定向到登录页面,但到目前为止,所有答案都建议关闭[集成windows身份验证] 由于表单身份验证不依赖于IIS身份验证,因此如果要在ASP.NET应用程序中使用表单身份验证,则应在IIS中为应用程序配置匿名访问
有关更多信息,请参见此处。应启用匿名访问,我不认为集成windows身份验证有什么区别,但如果您不需要,最好将其关闭。要记住的重要一点是确保在web.config中打开它:
<authentication mode="Forms" />
匿名访问->已检查
“安全性”选项卡上的所有其他选项->未选中
注意,表单身份验证由.NET完成,而不是由IIS完成。此外,Windows身份验证也必须关闭
这是一份关于在IIS6上使用ASP.NET表单身份验证的检查表
配置IIS:
在IIS中,站点属性->目录安全->身份验证和访问控制
- 启用匿名访问
- 禁用所有经过身份验证的访问方法
配置表单身份验证:
在站点的web.config
中配置表单身份验证:
<authentication mode="Forms">
<forms name="MySite"
path="/"
loginUrl="~/logon.aspx"
protection="All"
timeout="30"
slidingExpiration="true" />
</authentication>
谢谢,换句话说,在使用表单身份验证时,应该关闭[集成windows身份验证]!对。还要确保James提到的AuthenticationOn标签是正确的。另一件事你需要确保你有。这将拒绝任何用户,从而自动重定向到身份验证标签中提到的登录页面。过期需要多长时间?如果您在登录后尝试过检查cookies,您可以使用Firebug(在Firefox中)或IE开发者工具栏(点击F12)。您是否已将标签配置为允许(以及拒绝)访问包含您的页面的文件夹?如我所愿,30分钟后,yes标签可能已配置,并且上述两个选项均已启用!!!
<sessionState mode="InProc" timeout="40" />