Jaki jest cel FormsAuthenticationTicket jest własnością Właściwą?

Staram się nakręcić głowę do celuisPersistent nieruchomość znaleziona naFormsAuthenticationTicket klasa.http://msdn.microsoft.com/en-us/library/kybcs83h.aspx

Czy istnieją scenariusze, w których ustawienie jest trwałe?W jakich scenariuszach chciałbym ustawićisPersistent prawda i fałsz?

Właściwość wydaje się zbędna, ponieważ odkryłem, że jedynym sposobem na utrwalenie pliku cookie uwierzytelniania użytkowników w sesjach przeglądarki jest ustawienieExpires właściwość pliku cookie utworzonego po utworzeniu biletu; nawet jeśli bilety są stałe, wartość jest ustawiona nafalse.

Odkryłem również, że ustawienie wygasania biletów (nie ciasteczka) na jakieś 10 sekundisPersistent ustawiona na prawda ma niewielki wpływ; bilet wygasa po 10 sekundach.

<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>

Doceniam, że mogę zmienić mój powyższy kod na opcjonalnie ustawionyexpires

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

Utworzono przykładową aplikację @ GitHub.https://github.com/chrismoutray/AuthSample To pokazuje, że nawet ustawienie flagi isPersistent na wartość true powoduje, że autoryzacja krzyżowa nie działa.

questionAnswers(1)

yourAnswerToTheQuestion