Почему действительно короткий тайм-аут в ASP.NET MVC?
У меня есть приложение MVC 2, в котором тайм-аут установлен на 2880 (минут, как я понимаю, но даже если у вас есть секунды) проблема:
<authentication mode="Forms">
<forms loginUrl="~/Account/LogOn" timeout="2880" />
</authentication>
Теперь это должно означать 48 часов или не менее 48 минут (если значение равно секундам). Но пользователь выходит из системы через пару минут бездействия...
Почему? Любая помощь ценится!
Ответы
Ответ 1
Нашел ответ, наконец, после большого количества Googling...
Вы должны установить пользовательский машинный ключ в файле web.config. Я использовал этот генератор:
http://aspnetresources.com/tools/machineKey
Кажется, что нужно что-то сделать с "переработкой" на веб-хосте, что приводит к тому, что пользователь будет отключен, если я его правильно понял.
В любом случае, теперь это работает отлично!
Ответ 2
2880 дается в минутах. Он автоматически выйдет из системы, если вы добавите slidingExpiration="true"
. См. Пример ниже.
<forms loginUrl="~/Account/LogOn" timeout="2880" slidingExpiration="true"/>