Сохранение пользователя в системе - FormsAuthentication
У меня самое сложное время, чтобы понять это. Я использую FormAuthentication. Когда пользователь входит в систему, и он проверяет запомнить меня, я хочу, чтобы пользователь оставался в системе в течение 24 часов. Проблема в том, что независимо от того, что я делаю, пользователь автоматически выходит из системы примерно через 30 минут. Если выбранный вами пользователь запомнил меня, я установил постоянный файл cookie, срок действия которого истекает через 24 часа. Я вижу cookie в настройках браузера, и срок действия истек. Если я покину сайт и вернусь, скажем, через час. Пользователь вышел из системы ...... Он представляет собой некоторые фрагменты кода того, что у меня есть.
bool IsValid = Membership.ValidateUser(LoginControl.UserName, LoginControl.Password);
if (IsValid)
{
e.Authenticated = true;
if (LoginControl.RememberMeSet)
{
FormsAuthenticationTicket authTicket = new FormsAuthenticationTicket(LoginControl.UserName, true, 1440); // 1 day
string encryptedTicket = FormsAuthentication.Encrypt(authTicket);
HttpCookie cookie = new HttpCookie(FormsAuthentication.FormsCookieName, encryptedTicket);
cookie.Expires = authTicket.Expiration;
HttpContext.Current.Response.Cookies.Set(cookie);
Response.Redirect(FormsAuthentication.GetRedirectUrl(LoginControl.UserName, true), true);
FormsAuthentication.SetAuthCookie(LoginControl.UserName, true);
FormsAuthentication.RedirectFromLoginPage(LoginControl.UserName, true);
}
else
{
FormsAuthentication.SetAuthCookie(LoginControl.UserName, false);
FormsAuthentication.RedirectFromLoginPage(LoginControl.UserName, false);
}
}
Вот мой web.config
Когда пользователь не проверяет запомнить меня, я устанавливаю непостоянный файл cookie, и через 1 минуту бездействия пользователь выходит из системы. Это работает правильно. Проблема в том, что установлен запоминающий файл cookie, и пользователь возвращает, что пользователь больше не вошел в систему, даже если файл cookie существует.