Можно ли поддерживать разные сеансы (пользователей) в разных вкладках окна с помощью Spring 2.5? - PullRequest
0 голосов
/ 24 марта 2011

У нас есть требование, когда поддержка разных пользователей в разных вкладках окна браузера.Как мы можем добиться этого весной 2.5?Приложение основано на пользователях, где у пользователей будут свои агенты и статьи.Внутренний пользователь должен иметь возможность одновременно входить в различные учетные записи пользователей на разных вкладках и манипулировать их данными.Любая помощь очень ценится.

Ответы [ 2 ]

0 голосов
/ 24 марта 2011

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

Мое предложение для альтернативы было бы иметь скрытый параметр "userName", который передается в качестве параметра запроса URL-адреса для всех запросов из данной вкладки или окна. Вы можете уточнить настройку параметра в запросах браузера, используя некоторый Javascript для добавления скрытого параметра в каждую из HTML-форм на только что загруженной странице. Значение параметра будет извлечено из строки запроса URL текущей страницы. Вам просто нужно убедиться, что все страницы содержат содержимое в заголовке, чтобы загрузить JS и запустить его, когда загрузка страницы завершится.

0 голосов
/ 24 марта 2011

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

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

Как насчет того, чтобы иметь набор закладок на панели инструментов закладок, каждая из которых соответствует отдельному доменному имени. Нажмите на закладку, удерживая нажатой клавишу «Control», и она откроется в новой вкладке. Вы можете предоставить пользователям ссылки в вашей навигации на разные домены, которые они могут перетащить на свою панель инструментов.

В зависимости от того, какие браузеры используют ваши пользователи, вы можете получить еще более приятный вид - в некоторых браузерах Javascript window.open () открывает новую вкладку. Вы можете сделать так, чтобы JS вычислил новое доменное имя перед window.open ().

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