#session #liferay-6
#сеанс #liferay-6
Вопрос:
Я хочу убить сеанс liferay пользователя. Например, он разрешает более одного входа для одного и того же пользователя (есть ли какой-либо способ контролировать это?). Если пользователь вошел в систему, я получил идентификатор сеанса и помещаю его в контекст. И при входе того же пользователя из какой-либо другой системы / браузера / места я получаю новый идентификатор сеанса для входа в систему. Теперь у меня есть старый и новый идентификатор сеанса в моем контексте. (аналогичное решение доступно здесь, но я еще не пробовал, что можно сделать для вновь вошедшего в систему сеанса)
Возможно ли уничтожить старый сеанс с помощью / с идентификатором сеанса.? таким образом, если пользователь нажмет любую ссылку на странице (страница старого сеанса), будет ли она перенаправлена на страницу выхода из системы / настроенную (с истекшим сроком действия сеанса), если таковая имеется.?
(С использованием Liferay 6.1 CE)
Комментарии:
1. не разрешайте вашему пользователю повторно входить в систему, если у него уже есть активный сеанс? Подключите процесс аутентификации к sniff и запретите новый сеанс
2. я не могу ограничить это, потому что, если произошел какой-либо сбой сети / сбой браузера, пользователь попытается с какой-либо другой системы / устройства. Итак, это будет проблемой. На данный момент я подумываю о сокращении
session-timeout
. В любом случае это не решение.3. Что ж, вам нужно будет решить эту проблему с помощью перехвата аутентификации — вам нужно будет выполнить проверку во время любого фильтра авторизации для сеанса, зарегистрированного для пользователя. Ваш выбор в отношении того, что делать с этой информацией в этот момент. Завершение предыдущего сеанса и запуск нового, я полагаю, это нормально — посмотрите @ auth-хук, как упоминалось: dev.liferay.com/develop/tutorials/-/knowledge_base/6-2 /…
4. @brandt, кажется, это полностью аутентификационная часть. Я ищу часть управления сеансом.