Я пытаюсь установить некоторую проверку истечения времени ожидания аутентификации, и я заметил кое-что немного странное. Когда период аутентификации все еще действителен, следующий код даст мне cookie:
HttpCookie authCookie = context.Request.Cookies[".ASPXAUTH"]; // .ASPXAUTH name defined in web.config
Но когда период аутентификации истек, cookie больше не находится в массиве Cookies, и мой результат равен нулю. Я пытаюсь создать объект FormsAuthenticationTicket
из файла cookie, чтобы иметь возможность проверить свойство с истекшим сроком действия. Как это:
FormsAuthenticationTicket authTicket = FormsAuthentication.Decrypt(authCookie.Value);
// check if previously authenticated session is now dead
if (authTicket != null && authTicket.Expired)
{
// send a Response indicating that they've expired.
}
Но если файл cookie исчезнет после истечения периода аутентификации, я даже не смогу зайти так далеко. Так я что-то не так делаю, или это печенье не должно быть там? А если нет, то как мне построить билет даже на проверить свойство Expired?
Большое спасибо.