Безопасность загрузки Spring позволяет избежать истечения срока действия определенного пользовательского сеанса

Всем привет, у меня есть приложение для весенней загрузки на сервере Apache Tomcat, и оно отлично работает. Но теперь мне нужно избежать истечения срока действия сеанса для конкретного пользователя. Как я мог это сделать? Я искал способы и обнаружил, что перехватчик обработчика может быть полезен для управления сеансом, но я не уверен. Заранее спасибо!


person Maya    schedule 08.08.2017    source источник
comment
Почему вы хотите избежать истечения срока действия сеанса?   -  person Makoto    schedule 08.08.2017
comment
Это требование клиента. Они хотят избежать истечения срока действия сеанса для конкретного пользователя.   -  person Maya    schedule 08.08.2017
comment
Возможно, вы ищете stackoverflow.com/questions/2504590/ ИЛИ stackoverflow.com/questions/24561915/ ИЛИ baeldung.com/spring -security-session   -  person Ram    schedule 08.08.2017
comment
Независимо от того, является ли это требованием, почему нужно, чтобы пользовательский сеанс не истекал? Если у этого пользователя есть какие-то полномочия, это значительная дыра в безопасности.   -  person Makoto    schedule 08.08.2017
comment
Не совсем точно, я вообще не хочу закрывать сеансы, я просто хочу, чтобы конкретный пользователь не завершил сеанс. Так или иначе   -  person Maya    schedule 08.08.2017
comment
Макото, ты прав в этом, но мне нужно это сделать, не могли бы вы посоветовать мне это сделать?   -  person Maya    schedule 08.08.2017
comment
Нет, пока вы не объясните почему. Это имеет признаки проблемы XY.   -  person Makoto    schedule 08.08.2017


Ответы (1)


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

  1. реализовать некоторую оболочку сеанса поверх сеанса собственного сервера;
  2. установите время ожидания для сеансов собственного сервера на максимальное время, которое вы дадите одному из своих пользовательских сеансов;
  3. самостоятельно управлять таймаутом истечения срока действия ваших оболочек сеанса.

РЕДАКТИРОВАТЬ: На мой взгляд, лучший способ решить эту проблему - это пересмотреть требования клиента (бессмертный пользователь с правами администратора - плохая идея для вашего приложения). В любом случае настройка частей приложения, связанных с безопасностью, всегда рискованна, и вы должны действительно знать, что делаете.

person briarheart    schedule 08.08.2017
comment
Лично я бы рекомендовал не отвечать, пока мы не разберемся с обоснованием. Ваш совет здравый, и я бы кое-что сказал, но более глубокая проблема - почему? - person Makoto; 08.08.2017
comment
@Makoto Я согласен, это странное требование, которое может привести к нарушению безопасности приложения. Отредактирую свой ответ соответственно. - person briarheart; 08.08.2017