У меня есть сайт asp.net, который использует проверку подлинности форм. Есть несколько вещей, которые я держу в сеансах, таких как имя пользователя, идентификатор пользователя, адрес электронной почты и т.д.
Я разрешаю пользователю оставаться на веб-сайте, установив длинную дату истечения срока действия cookie аутентификации. Таким образом, это очень часто для завершения сеанса, пока пользователь все еще аутентифицирован.
Проблема, с которой я сталкиваюсь, заключается в том, что иногда сеанс пользователя заканчивается, но они все еще аутентифицированы. Например, одна из моих пользовательских страниц (для которой требуется аутентификация) будет говорить "Приветственный Майк", когда их сеанс активен, но как только он истечет, он скажет "Приветствие [пусто]", потому что информация больше не находится в сеансе, но они все еще аутентифицированы.
Какой лучший способ справиться с этим? Должен ли я повторно синхронизировать информацию о сеансе, когда информация больше не существует? Или я должен переместить информацию пользователя (имя пользователя, идентификатор пользователя, адрес электронной почты) в файлы cookie и не беспокоиться о тайм-аутах сеанса?
Я не хочу устанавливать длину сеанса примерно на 60 минут или более. Я хочу, чтобы мои пользователи могли войти в систему один раз и не беспокоиться о том, что вам нужно снова войти в систему, пока они явно не выйдут из системы.