Как аннулировать сеанс, когда я нажимаю новое окно вкладок для того же приложения (для того же URL-адреса)? Как только я получаю доступ к тому же URL-адресу, существующая сессия открылась. Я хочу начать разный сеанс дляНедействительный сеанс Java для новой вкладки
ответ
Идентификатор сеанса хранится в файле cookie, поэтому вы не можете иметь два разных сеанса для одного и того же приложения в одном браузере (новая вкладка или новое окно - не имеет значения) одновременно ,
Если вы используете простой сервлет вы можете использовать следующий код,
// Get the existing session.
HttpSession session = request.getSession(false);
// Invalidate the existing session.
if(session!=null) {
session.invalidate();
}
Вы можете вызвать этот сервлет делает отображение для вашей новой вкладке URL в web.xml.
Ваш сеанс сервера сопоставляется с сеансом HTTP. Вы не можете одновременно иметь два сеанса HTTP в одном браузере ... И как бы вы определили, что нажал кнопку «Открыть в новой вкладке», и он не открыл ссылку на той же вкладке? У вас должен быть AJAX ping для этого (довольно сложно ...)
Когда дело доходит до сеанса/файла cookie, браузеры в настоящее время не поддерживают отдельные файлы cookie для каждой отдельной вкладки/окна.
Но некоторые структуры имеют эту концепцию Window, так что с ее помощью вы можете получать уведомление при открытии нового окна/вкладки. Как только вы сможете его обнаружить, вы можете уничтожить старые окна. Обновление сеанса (или аннулирование и создание нового) не будет иметь желаемого эффекта (даже если вы можете это сделать) на другой вкладке, поскольку все это может повториться, когда пользователь перейдет на другую старую вкладку.
Лучше всего сохранить несколько окон для пользователя за один сеанс.
Использовать Url-переписывание для разных сеансов в разных вкладках/окнах. Если вы хотите аннулировать сеанс, просто удалите все предыдущие сеансы для этого пользователя. Единственная проблема заключалась бы в том, что кто-то скопировал и вставил URL-адрес. Если это может быть проблемой, попробуйте каким-то образом сохранить ключ сеанса в хранилище HTML5.
- 1. Недействительный сеанс
- 2. Недействительный сеанс и закрытие вкладки браузера при нажатии Logout
- 3. Недействительный сеанс фляжки?
- 4. Недействительный сеанс для определенного пользователя в Symfony2
- 5. Проверьте, недействительный сеанс для вызова login popup
- 6. Недействительный сеанс: правильное поведение выхода
- 7. Анализ, как обрабатывать недействительный сеанс?
- 8. Недействительный сеанс, как правильно использовать?
- 9. Недействительный сеанс с пользовательским аутентификатором
- 10. Недействительный конкретный сеанс jsf bean
- 11. Открытие новой вкладки с помощью Java
- 12. Недействительный сеанс при попытке создать сеанс в OKTA
- 13. Notepad ++ Добавление «новой» вкладки
- 14. iOS: обрабатывать недействительный сеанс в делегате приложения
- 15. Использование TargetLink для открытия новой вкладки
- 16. Открытие новой вкладки для чтения PDF-файла
- 17. Использование терминала gnome для получения новой вкладки
- 18. Расширение Safari: событие для совершенно новой вкладки?
- 19. window.open на теге для новой вкладки
- 20. Добавление новой вкладки в PHP
- 21. Открытие новой формы с вкладки
- 22. Firefox почему window.opener определен даже для новой вкладки
- 23. андроидные вкладки - начало новой активности
- 24. новой для Java декларации
- 25. Открыть URL с новой вкладки с помощью Java Script
- 26. xterm сохранить сеанс терминала и вкладки
- 27. открытие новой вкладки, выбрав из опций html
- 28. Java недействительный сертификат SSL
- 29. AngularJS и AngularUI Бутстрап удваивает вкладки при добавлении новой вкладки
- 30. Как очистить сеанс при закрытии вкладки браузера?
Недействительны только для новой вкладки ?. Что, если я вернусь к предыдущей открытой вкладке? Должна ли сессия существовать? –