Задать вопрос

Как осуществить возможность авторизации разных пользователей в разных вкладках или окнах браузера?

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

Одно из решений, которое мне не нравится, это передавать ID сессии в всех URL используемых в приложении.

Есть ли какое-нибудь приемлемое решение этой задачи?

Вопрос номер 2. Можно ли этого добиться в IE8? Это второе принципиальное требование заказчика.
  • Вопрос задан
  • 4168 просмотров
Подписаться 8 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 6
Старайтесь не работать с такими заказчиками
Ответ написан
Mr_Franke
@Mr_Franke
Front-end developer
Можно использовать session storage. Он работает по принципу "одно окно, одна сессия" и поддерживается IE8+

Вот цитата из статьи wiki:
"Данные размещаются в отдельное для каждого домена локальное хранилище (оно доступно для всех скриптов из домена, который первоначально добавил данные) и сохраняются после закрытия браузера. Сессия сохраняется по принципу одна-страница-одно-окно и ограничивается жизнью данного окна, то есть для каждого открытого окна создается новая сессия, которая прекращает свое существование при закрытии окна и не зависит от домена открывшего ее. Сохранение сессии предназначено для предоставления отдельных экземпляров одного и того же веб-приложения для работы в разных окнах, не мешая друг другу[6]. В случае с Куки подобное становится крайне затруднительно или даже невозможно."
Ответ написан
Комментировать
metamorph
@metamorph
Первую задачу можно свести к Incognito-mode (есть во всех основных браузерах, но называется по-разному).
Ответ написан
Комментировать
Mandor
@Mandor
Вот пришло в голову: сделайте на сайт два алиаса: www.site.ru и www2.site.ru, ну и в случае если пользователь залогинен при повторном логине отправляйте на второй вариант (как вариант подойдет www.site.ru/1/ и www.site.ru/2/).
Ответ написан
Комментировать
tyzhnenko
@tyzhnenko
System Administrator, DevOps, QA Engineer
Делаете wildcard домен в DNS сервере. *.user.domain.com.
Куки ставите только для определенного домена.
При заходе на www.domain.com есть только доступ к открытым данным или форма авторизации. При успешной авторизации перенаправляете пользователя на "свой" домен.
Ответ написан
Комментировать
@Nommyde
На mail.ru как-то реализовано это. Когда несколько ящиков и в разных вкладках открыты разные ящики, в разных вкладках получается разная кука Mpop. Сам пока не понял, как это происходит. При создании новой вкладки открывается тот ящик, вкладка которого была активна последней.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы