0
У меня есть следующий код, и в соответствии с другими ответами stackoverflow он должен работать, но это не так. Я что-то пропустил?Auth cookie не является постоянным
DateTime expiration = DateTime.Now.AddMinutes(30);
if (rememberMe)
{
expiration = DateTime.Now.AddMonths(1);
}
HttpContext.Current.Response.Cookies.Clear();
var ticket = new FormsAuthenticationTicket(1, email, DateTime.Now, expiration, rememberMe,
guid.ToString(), FormsAuthentication.FormsCookiePath);
string encryptedTicket = FormsAuthentication.Encrypt(ticket);
var cookie = new HttpCookie(FormsAuthentication.FormsCookieName, encryptedTicket);
cookie.Expires = ticket.Expiration;
HttpContext.Current.Response.Cookies.Add(cookie);
и чтение куки в Application_AuthenticateRequest
var authCookie = Request.Cookies.Get(FormsAuthentication.FormsCookieName);
if (authCookie == null) return;
var ticket = FormsAuthentication.Decrypt(authCookie.Value);
if (ticket == null) return;
...
и мой вход web.config:
<authentication mode="Forms">
<forms loginUrl="~/Home/Index" timeout="30" /> <!-- 30minutes
</authentication>