Cookie和身份验证-ASP.net

时间:2010-03-30 18:07:54

标签: asp.net forms-authentication

当我在浏览器级别禁用cookie时,“表单身份验证”仍然有效吗?。如果没有,启用“来自身份验证”的替代方法是什么?

3 个答案:

答案 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。