Несколько сеансов GWT параллельно в одном браузере - PullRequest
1 голос
/ 16 декабря 2011

У нас есть приложение SmartGWT (с безопасностью Spring), для которого мы хотим, чтобы один и тот же пользователь мог войти в систему с одной и той же информацией для входа в систему, но для разных вкладок используется разная сессия.

  1. Пользователь 1 открывает вкладку браузера Tab1 с приложением
    • получает сеанс Session1
    • выбирает роль ...
  2. Пользователь 2 открывает браузер новой вкладке Tab2 с приложением

    • получает новый сеанс Session2

    Пользователь использует Tab1 и Tab2 параллельно. Сеанс не должен влиять друг на друга.

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

Сессионная система на основе файлов cookie не представляется возможной без аннулирования сеанса. Но сеанс не должен быть признан недействительным ... К новой вкладке должен быть прикреплен только новый сеанс.

HttpSession.getSession (true) возвращает новый сеанс, только если он не существует.

Кажется возможным использовать подход перезаписи URL для создания нового сеанса. 1 Может кто-нибудь сказать нам, возможно ли это и

1a, если да, дайте нам представление о вопросах реализации или шаги.

Один аспект Я не совсем уверен, какие будут последствия, если использовать метод перезаписи URL.

2 Означает ли это, что если клиент отправляет запрос без идентификатора сеанса, то создается новый сеанс

3 Имеет ли аспект перезаписи URL другие последствия для бэкэнда GWT

1 Ответ

1 голос
/ 16 декабря 2011

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

Я имею в виду, например, www.yourdomain.com на вкладке 1, www2.yourdomain.com на вкладке 2, www3.yourdomain.com на вкладке 3 и т. Д. С максимальным количеством вкладок.

В качестве альтернативы, если это возможно, было бы гораздо проще обучить пользователей наличию 2 или 3 разных браузеров (например, Firefox, Opera, Chrome, Safari, если упомянуть хорошие).

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