isPersist的确看到是true
1 string authcookie = FormsAuthentication.Encrypt(ticket); 2 3 HttpCookie cookie = new HttpCookie(FormsAuthentication.FormsCookieName, authcookie); 4 5 context.Response.Cookies.Add(cookie);
但是如下图Expires确是session
给cookie加上域名试试
没用,localhost不就是吗?上面图上有。
@不要理我:
添加如下的代码:
cookie..Expires = ticket.Expiration;
@dudu: 得这么写
if (ticket.IsPersistent) { cookie.Expires = ticket.Expiration; }
这么写,好鸡肋啊,不会这样子吧。
@不要理我: 还不如我之前写的呢,就是看这个有加密在里面才偷懒用用看。
@不要理我: 微软也是这么写的,你可以用ILSpy看一下System.Web.Security.FormsAuthentication的实现代码。
@dudu: 那他传一个持久化的值干嘛使啊,还得自己做判断。
@不要理我: 这个值作为加密字符串的一部分传给客户端,解密后需要根据这个值进行判断
@dudu:要是上面那段代码集成在FormsAuthentication.Encrypt(ticket);就好了。学到老活到老,谢谢dudu
mark