问题描述
我希望能保持1个月无需登录,票证声明如下:FormsAuthenticationTicketticket=newFormsAuthenticationTicket(2,userID,DateTime.Now,DateTime.Now.AddMonths(1),false,userInformation);将票证加密存入CookieWeb.config如此定义:<authenticationmode="Forms"><formsloginUrl="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仍然在在,但是票据已经过期了,所以又要重新输入用户名与密码来登陆了请再解答一下吧
解决方案五:
该回复于2008-06-02 09:09:27被版主删除
解决方案六:
希望能有人解答,谢谢了