Какова цель свойства isPersistent для FormsAuthenticationTicket?

Я пытаюсь осмыслить цельisPersistent свойство найдено наFormsAuthenticationTicket учебный класс.http://msdn.microsoft.com/en-us/library/kybcs83h.aspx

Are there scenarios when setting isPersistent works? In what scenarios would I want to set isPersistent to true and false?

Это свойство представляется избыточным, поскольку я обнаружил, что единственный способ сохранить файлы cookie для аутентификации пользователей в сеансах браузера - это установитьExpires свойство файла cookie, созданного после создания заявки; даже если в параметре tickets isPersistent установлено значениеfalse.

Я также обнаружил, что установка срока действия билетов (не cookie) примерно на 10 секунд сisPersistent значение true мало влияет; Срок действия билета истекает через 10 секунд.

<code>FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(1,
    identity.Name,
    DateTime.Now,
    DateTime.Now.AddMinutes(FormsAuthentication.Timeout.TotalMinutes),
    isPersistent,
    JsonSerializerService.ToJson(identity),
    FormsAuthentication.FormsCookiePath);

string encryptedTicket = FormsAuthentication.Encrypt(ticket);

var cookie = new HttpCookie(FormsAuthentication.FormsCookieName, encryptedTicket);

cookie.Path = FormsAuthentication.FormsCookiePath;

cookie.Expires = DateTime.Now.AddYears(1); // good for one year
</code>

Я ценю, что могу изменить свой код выше, чтобы установитьexpires

<code>if (isPersistent)
    cookie.Expires = DateTime.Now.AddYears(1); // good for one year
</code>

Пример приложения был создан @ GitHub.https://github.com/chrismoutray/AuthSample Это в основном показывает, что даже если для флага isPersistent задано значение true, кросс-браузерная авторизация не работает.

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

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