У меня, похоже, есть проблема в моем веб-приложении MVC, когда у пользователя отключается время, если он неактивен в течение некоторого времени, я бы сказал, около 20-30 минут.После истечения времени ожидания, независимо от того, установили ли они флажок запомнить меня или нет, они вышли из системы.
Я использую службу аутентификации, которая поставляется с новым проектом MVC, FormsAuthenticationService для входаи установите .ASPAUTH cookie
public void SignIn(string userName, bool createPersistentCookie)
{
if (String.IsNullOrWhiteSpace(userName)) throw new ArgumentException("Value cannot be null or empty.", "userName");
FormsAuthentication.SetAuthCookie(userName, createPersistentCookie);
}
Cookie установлен правильно, с датой истечения срока, установленной в будущем.Я также настроил свой web.config со следующими настройками:
<authentication mode="Forms">
<forms loginUrl="~/Account/Login"
timeout="2880"
slidingExpiration="false" />
</authentication>
<sessionState mode="InProc" cookieless="false" timeout="2881"></sessionState>
Я также установил все настройки, которые я могу придумать в IIS, которые могут это делать, включая настройку времени простоя в приложениипул (который был подозрительно установлен на 20 минут) на 480 minutes
.
Почему у меня истекает время сеанса, из-за чего пользователям приходится снова входить в систему?Как я могу сделать так, чтобы пользователь не вышел из системы, когда их cookie «запомнить меня» установлен?