Я работаю над своим проектом в прошлом году, который представляет собой веб-приложение. Я хочу реализовать функцию выхода в этом проекте. Но не знаю, как это сделать. Также я хочу реализовать функции автоматического выхода из системы, то есть через определенный период времени через 20 минут пользователь будет автоматически выведен из системы, если он не выполнит никаких действий в течение этого периода. Сообщение должно быть отображено пользователю «Извините, ваш сеанс истек» Пожалуйста, войдите снова ». Как это сделать?Реализация функции выхода из системы
ответ
Как вы имеете дело с входами и сеансами? Если его так же просто, как куки сессии вы просто истекают/удалить куки для выхода
Вы можете выйти из системы с помощью session.invalidate()
(или response.getSession().invalidate()
в сервлет)
При использовании куки, вам придется позвонить response.addCookie(..)
с вашим cookie с отрицательным сроком службы.
Автовыход может быть достигнут с установкой таймаута сеанса. В web.xml
<session-config>
<session-timeout>20</session-timeout>
</session-config>
Как я сделать это на нашем CMS это иметь SetTimeout начатым после загрузки страницы. Это - через 20 минут перенаправляет пользователя на страницу, которая очищает сеанс, и, следовательно, регистрирует пользователя. К сожалению, это имеет один побочный эффект, когда пользователь открывает более одного окна, иногда одно окно может достигать периода ожидания до того, когда пользователь активен. Это приводит к преждевременному отключению сеанса и прерывает поток.
Один из способов обойти это предостережение - сохранить идентификатор активности для каждого действия, которое выполняет пользователь (т. Е. Создать элемент контента, загрузить изображение). Этот идентификатор активности хранится в пользовательской таблице, а таймер тайм-аута (в Javascript) может проверять этот идентификатор, чтобы узнать, является ли последнее время оконным окном или нет. Если идентификатор в этом окне (переданный из переменной PHP в выход HTML) не совпадает, то это не заставляет таймаут сеанса.
Это довольно сложный подход, не вносящий изменения в интерфейс.
Как выйти из системы зависит от того, как вы входите в систему. Вы также должны были уточнить логин. – BalusC