Tomcat выводит пользователя из системы во время аварийного переключения сеанса и перезапускает - PullRequest
2 голосов
/ 21 января 2020

Мы внедрили репликацию сеансов с использованием Redisson, но мы заметили, что если мы намеренно отказали узлу, сеансы пользователя будут реплицированы, но они выйдут из системы после восстановления на новом сервере.

Этот ответ здесь: Восстановление имени пользователя после перезапуска tomcat 7 намекает на то, что использование JAASRealm позволит кому-то оставаться в системе при перезапуске.

Чтобы проверить это, я настроил область JAAS в Tomcat успешно используя модуль входа в свойства. Однако, когда я перезагружаюсь, пользователь выходит из системы. Я вижу, что мои сеансы записываются на диск tomcat в его рабочем каталоге.

Есть ли способ заставить эту работу работать правильно, чтобы пользователь не вышел из системы во время события отработки отказа? Что еще более важно, есть ли техническая причина или причина безопасности для этого?

Если вы посмотрите на код Tomcat, они активно попытаются избежать сериализации Принципал:

https://github.com/apache/tomcat/blob/master/java/org/apache/catalina/session/StandardSession.java#L1559

https://github.com/apache/tomcat/blob/master/java/org/apache/catalina/session/StandardSession.java#L234

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