Я испытываю затруднения при создании нестойкого cookie с помощью FormsAuthenticationTicket. Я хочу сохранить userdata в билете, таким образом, я не могу использовать FormsAuthentication. SetAuthCookie () или FormsAuthentication. GetAuthCookie () методы. Из-за этого я должен создать FormsAuthenticationTicket и сохранить его в HttpCookie.
Мой код похож на это:
DateTime expiration = DateTime.Now.AddDays(7);
// Create ticket
FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(2,
user.Email,
DateTime.Now,
expiration,
isPersistent,
userData,
FormsAuthentication.FormsCookiePath);
// Create cookie
HttpCookie cookie = new HttpCookie(FormsAuthentication.FormsCookieName, FormsAuthentication.Encrypt(ticket));
cookie.Path = FormsAuthentication.FormsCookiePath;
if (isPersistent)
cookie.Expires = expiration;
// Add cookie to response
HttpContext.Current.Response.Cookies.Add(cookie);
Когда переменная isPersistent верна, что все хорошо работает, и cookie сохраняется. Но когда isPersistent является ложью, cookie, кажется, сохраняется так или иначе. Я вхожу в систему в окне браузера, завершения это, и открывает браузер снова, и я все еще зарегистрирован. Как я устанавливаю cookie, чтобы быть нестойким?
Действительно ли нестойкий cookie является тем же как сеансовыми куки? Информация о куки хранится в sessiondata на сервере, или cookie передаются в каждом запросе/ответе серверу?