Об этом должны заботиться рамки. Я думаю, что проблема, о которой говорилось в ответе выше, заключается в том, что вы не установили срок действия билета, а только файл 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

Ответы на вопрос(5)

Ваш ответ на вопрос