[tomcat+j2ee] убить сессии во всех браузерах

SergeRRRRRR

Допустим, юзер авторизовался на сайте с разных браузеров. Как можно убить все сессии данного юзера во всех браузерах. По аналогии c кнопкой в гмейле "Выйти из всех остальных сеансов".

kokoc88

Допустим, юзер авторизовался на сайте с разных браузеров. Как можно убить все сессии данного юзера во всех браузерах. По аналогии c кнопкой в гмейле "Выйти из всех остальных сеансов".
Например, на стороне сервера удалить данные о всех сессиях данного пользователя из БД.
Браузеры тут не при чём, как мне кажется.

SergeRRRRRR

браузеры конечно не при чем, просто привел пример, как появляется такая ситуация.
Сессии не хранятся в БД, с ними работает томкат, привязываю её к юзеру через куку.

apl13

Надо отформатировать у пользователя диск и перезагрузить компьютер, тогда точно сработает. :lam:

katrin2201

Дефолтный контейнерный HttpSession?
Простого способа, судя по всему, нет.

SergeRRRRRR

мда, спасибо, видимо простого способа нет.

zya369

а нельзя где-нить хранить времена обнуления сессий (per user) и потом сравнивать его со временем создания HttpSession?

SergeRRRRRR

не совсем понял, как это может помочь. Могло бы помочь, думаю ,если для каждой авторизации юзера хранить jsessionid с указанием логина, и в случае чего инвалидировать все сессии юзера по jsessionid, но это мои фантазии, которые могут быть далеки от реальности.

zya369

может я недопонял чего, но я имел в виду такое
 
 
logoutUser(login) {
globalStorage.set(login, getTime());
}


someFunc(...) {
HttpSession session = getSession(...);
if(globalStorage.get(login) > session.getCreationTime())
session = null;

// do stuff
}


но в зависимости от организации кода это может быть геморно, конечно

SergeRRRRRR

понял, но в общем по-сути тот же самый подход, что я предложил, то есть дополнительно хранить что-то характеризующее сессию с привязкой к юзеру.

Dasar

необходимо не просто привязать идентификаторы к каждой сессии, но еще и хранить на сервере список идентификаторов всех валидных сессий для данного пользователя.

zorin29

понял, но в общем по-сути тот же самый подход, что я предложил, то есть дополнительно хранить что-то характеризующее сессию с привязкой к юзеру.
...только дополнительная информация хранится не к сессии, а к юзеру.
Оставить комментарий
Имя или ник:
Комментарий: