实验代码如下:
string roles = "";
string[] rolesList = Roles.GetRolesForUser(username);
foreach (string item in rolesList) roles += item + ",";
FormsAuthentication.SetAuthCookie(username, IsPersistent);
HttpCookie cookie = FormsAuthentication.GetAuthCookie(username, IsPersistent);
FormsAuthenticationTicket oldTicket = FormsAuthentication.Decrypt(cookie.Value);
FormsAuthenticationTicket newTicket = new FormsAuthenticationTicket(1, oldTicket.Name, oldTicket.IssueDate, DateTime.Now.AddMinutes(60), oldTicket.IsPersistent, roles, FormsAuthentication.FormsCookiePath);
cookie.Value = FormsAuthentication.Encrypt(newTicket);
HttpContext.Current.Response.SetCookie(cookie);
--------
webconfig 中的timeout=10
结果发现cookie的过期时间是10分钟而不是60分钟,也就是说 SetCookie没起到作用,感觉很纳闷 :(
请高手支招,谢谢!
--
FROM 59.151.112.*