当我在浏览器级别禁用cookie时,“表单身份验证”仍然有效吗?。如果没有,启用“来自身份验证”的替代方法是什么?
答案 0 :(得分:3)
是的,当禁用cookie时,表单身份验证可以正常工作。您需要更新web.config来处理这种情况。如果禁用cookie,则安全令牌将通过查询字符串传递。
请查看以下教程,了解表单身份验证的所有内容:http://www.asp.net/learn/security/?lang=cs
答案 1 :(得分:2)
只要您没有将web.config文件中forms元素的“cookieless”参数设置为“UseCookies”,表单身份验证仍然可以正常工作。
所有其他选项,包括默认的“UseDeviceProfile”,意味着FormsAuthentication可以在浏览器上启用或不启用cookie的情况下工作。
<configuration>
<system.web>
<authentication mode="Forms">
<forms
name="MyApp"
loginUrl="/login.aspx"
cookieless="UseDeviceProfile"> // <-- don't set this to "UseCookies"
</forms>
</authentication>
</system.web>
</configuration>
答案 2 :(得分:1)
表单身份验证与“UseCookies”一起使用,如下所示:
<configuration>
<system.web>
<authentication mode="Forms">
<forms name="MyApp" loginUrl="/login.aspx" cookieless="UseCookies">
</forms>
</authentication>
</system.web>
</configuration>
您可以通过检测是否启用了Cookie并在执行任何执行之前报告必要的错误,在客户端的浏览器上强制执行Cookie。