Новый файл cookie сеанса был выпущен на полпути через тайм-аут FormsAuthenticationTicket - PullRequest
1 голос
/ 13 апреля 2011

Я использую проверку подлинности с помощью форм в своем приложении asp.net 4.0 (обновлено с .NET 1.1). Я явно создаю объект FormsAuthenticationTicket, затем шифрую его (используя метод FormsAuthentication) и отправляю его в файле cookie клиенту. Я использую FormsAuthentiation.RenewTicketIfExpired () для установки скользящего истечения срока действия файла cookie аутентификации.

Я могу использовать Fiddler, чтобы узнать новый файл cookie сеанса, выпущенный на полпути через тайм-аут FormsAuthenticationTicket.

если время ожидания проверки подлинности формы = 2 минуты, время ожидания сеанса = 20 минут

т.е.

чч: мм: сс

10: 00: 00 пользователь входит в систему

10: 01: 10 происходит обратная передача

Затем новый сеанс будет воссоздан и выведен из системы. Но я установил время сеанса каждые 20 минут. Я пробовал разные значения тайм-аута проверки подлинности с помощью форм, и новый сеанс всегда создается в середине таймаута.

Мне нужно установить очень большое значение таймаута проверки подлинности с помощью форм, чтобы этого не происходило.

Нет такой проблемы до обновления .NET 1.1

Кто-нибудь знает почему? это ошибка, связанная с истечением срока действия в asp.net 4.0?

Ответы [ 2 ]

1 голос
/ 13 марта 2014

Написание ответа, даже если вопрос очень старый, в случае, если кто-то столкнулся с этим точно так же, как я.

Это не ошибка, новый билет выдается в середине тайм-аута, потому что у вас есть SlidingExpiration = yes , что является значением по умолчанию.

Если срок действия скользящего включен, FormsAuthentication повторно выдаст билет FormsAuthentication, действительный еще в течение x количества минут, где x - это время ожидания проверки подлинности для ваших форм, еслиистекло более половины периода ожидания.

Технически, хотя это должно происходить при каждом обращении к серверу (а не только после того, как истекло половина времени ожидания) И НЕКОТОРАЯ ДОКУМЕНТАЦИЯ СКАЗЫВАЕТ, ЧТО ЭТО ТАКСОВЕРШЕНО , это не сделано, вероятно, по соображениям производительности, а некоторым браузерам не нравится устанавливать файлы cookie так часто.

См. http://msdn.microsoft.com/en-us/library/system.web.configuration.formsauthenticationconfiguration.slidingexpiration.aspx

0 голосов
/ 13 апреля 2011

Ваш сайт может быть переработан.Это может произойти по нескольким причинам.Одна из них, которая недавно поймала меня, была, когда изменилась структура каталогов сайта (например, добавление папки).

Поскольку вы знаете, где это происходит, просто убедитесь, что вы не вызываете никакой переработки.

...