Об этом должны заботиться рамки. Я думаю, что проблема, о которой говорилось в ответе выше, заключается в том, что вы не установили срок действия билета, а только файл cookie.
ользую аутентификацию форм ASP.NET для входа пользователей на веб-сайт, который мы разрабатываем.
Частью функциональности является флажок «Запомнить меня», который запоминает пользователя на месяц, если он его проверяет.
Код для входа пользователя в систему выглядит следующим образом:
public static void Login(HttpResponse response, string username,
bool rememberMeChecked)
{
FormsAuthentication.Initialize();
FormsAuthenticationTicket tkt = new FormsAuthenticationTicket(1, username, DateTime.Now,
DateTime.Now.AddMinutes(30), rememberMeChecked,
FormsAuthentication.FormsCookiePath);
HttpCookie ck = new HttpCookie(FormsAuthentication.FormsCookieName, FormsAuthentication.Encrypt(tkt));
ck.Path = FormsAuthentication.FormsCookiePath;
if (rememberMe)
ck.Expires = DateTime.Now.AddMonths(1);
response.Cookies.Add(ck);
}
Соответствующий раздел в web.config это:
<authentication mode="Forms">
<forms loginUrl="Home.aspx" defaultUrl="~/" slidingExpiration="true" timeout="43200" />
</authentication>
Это хорошо регистрирует пользователя, но выводит его через полчаса, если он не использует сайт, хотя его свойство постоянства (RememberMeChecked) имеет значение true, а если оно равно true, срок действия файла cookie истекает через месяц. Есть что-то, чего я здесь не хватает?
Спасибо заранее, F