当前位置:编程学习 > C#/ASP.NET >>

求助,Form身份验证问题

我希望能保持1个月无需登录,票证声明如下:  
              FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(
                    2,
                    userID,
                    DateTime.Now,
                    DateTime.Now.AddMonths(1),
                    false,
                    userInformation);
将票证加密存入Cookie

Web.config如此定义:
<authentication mode="Forms">
      <forms loginUrl="Login.aspx" timeout="43200"></forms>
</authentication>

结果发现只能持续几十分钟,经查看,发现Cookie没有问题,ExpireTime为一个月后,但是发现Request.IsAuthenticated为false了,Context.User为空。

请帮忙解答一下,谢谢 --------------------编程问答-------------------- 怎么没有人回答 --------------------编程问答-------------------- 注意那个 bool 内型的参数


isPersistent
类型:System..::.Boolean

如果票证将存储在持久性 Cookie 中(跨浏览器会话保存),则为 true;否则为 false。如果该票证存储在 URL 中,将忽略此值。


我不知道你是否是因为重新打开关闭的浏览器而导致 Request.IsAuthenticated=false,假如是那么试试 isPersistent=true

--------------------编程问答-------------------- 谢谢Jinglecat的回答,但是我已经试过,应该不是这个问题

Cookie的有效期已经是一年了,但是好像票据(FormsAuthenticationTicket)的有效期只有30分钟。  
30分钟以后,Cookie仍然在在,但是票据已经过期了,所以又要重新输入用户名与密码来登陆了

请再解答一下吧 --------------------编程问答-------------------- --------------------编程问答-------------------- 希望能有人解答,谢谢了
补充:.NET技术 ,  ASP.NET
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,