Почему время ожидания состояния сеанса переопределяет время ожидания проверки подлинности с помощью форм в моем приложении MVC3? - PullRequest
5 голосов
/ 25 января 2012

В моем web.config есть

<sessionState mode="InProc"
              timeout="2"
              cookieless="UseCookies"/>
<authentication mode="Forms">
  <forms
    loginUrl="~/Account/LogOn"
    timeout="1"
    cookieless="UseCookies" />
</authentication>

Насколько я понимаю в MVC3 (или в Asp.Net), sessionState контролирует время ожидания сеанса пользователя на сервере. и время ожидания проверки подлинности форм контролирует, когда пользователь будет вынужден снова войти на сайт.

Это не совсем верно: если я удаляю секцию sessionState из моего web.config тайм-аут в секции аутентификации полностью игнорируется - кажется, что тайм-аут через некоторое время по умолчанию.

Фактически тайм-аут состояния сеанса, по-видимому, необходим для контроля времени ожидания аутентификации. Это не имеет никакого смысла вообще. Может кто-нибудь сказать мне, что мне здесь не хватает?

Это связано с этим вопросом , который я задал, но я не до конца понял, почему это так.

1 Ответ

4 голосов
/ 13 февраля 2012

Время ожидания сеанса не зависит от времени ожидания проверки подлинности форм.

Вы не уточнили, как вы создали свой билет, поэтому вот наиболее распространенные причуды, которые могут повлиять на ваши наблюдения:

  1. Если вы создали экземпляр билета auth самостоятельно, то время ожидания устанавливается в файл конфигурации не имеет никакого эффекта.
  2. Тайм-аут скольжения немного прикольный, билет не будет продлен, если вы не зайдете снова в последнюю половину окна.

Возможно, вы захотите проверить эту статью для обзора:

http://support.microsoft.com/kb/910443

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...