Helle everyone,Spring 4 - Session Management
В настоящее время я запускаю приложение весеннего веб-приложения предприятия внутри нашей компании, развернутое на сервере tomcat 8.
Теперь некоторые пользователи сообщают, что иногда они не могут подключиться, поскольку ошибка входа в систему отображается на странице входа.
А ну, вот почему:
моя сессия конфигурация настроена следующим образом:
<session-management>
<concurrency-control max-sessions="5"
error-if-maximum-exceeded="true" expired-url="/login"
session-registry-alias="sessionRegistry"/>
</session-management>
<form-login login-processing-url="/login"
login-page="/login"
authentication-failure-url="/login_error" />
<logout logout-url="/logout" logout-success-url="/login"
invalidate-session="true"/>
сессии тайм-аута устанавливается в 4-х часов:
<session-timeout>240</session-timeout>
- когда пользователь запрашивает страницу входа, сеанс с ключом csfr хранится на стороне сервера.
- Когда пользователь выходит из системы, его сеанс недействителен, и он перенаправляется на страницу входа в систему, так как новый сеанс с ключом csfr сохраняется снова на стороне сервера.
- , когда пользователь уже имеет 5 сеансов (разные браузеры, устройства, странное поведение клиента) и пытается войти в систему в 6-й раз - при этом вход запрещен, поскольку превышен максимальный максимум сеанса.
Теперь в худшем случае есть 5 сеансов с сохраненным сервером только csrf-token, скажем, avg. срок службы 3 часа, блокируя пользователя от повторного подключения.
пожалуйста, может кто-то сказать мне, что есть лучшее решение, чем:
max-sessions="biggerNumber"
и спасибо за чтение в любом случае ...
привет, спасибо за ответ.это именно то, что я искал. я собираюсь удалить ошибку-if-maximum -выше, поэтому самый старый сеанс отменяется. я не понял этого, читая документы безопасности - так спасибо за это! тайм-аут сеанса очень велик, но он запрашивается именно так. – user1386375