Управление сессиями - PullRequest
0 голосов
/ 11 января 2012

Я использую сеансы для своей страницы входа, которая будет содержать идентификатор пользователя в сеансе. Если два разных пользователя зарегистрированы с использованием одной и той же системы и одного и того же браузера, но с отдельными вкладками браузера, значение сеанса userid сбрасывается для пользователя, который вошел в систему последним. Почему?

Ответы [ 4 ]

6 голосов
/ 11 января 2012

будет сохранен только один sessionID (в cookie) для домена браузером, который будет возвращаться на сервер при последующих обратных передачах для идентификации сеанса.

, если вы откроете другую вкладку ивойдите под другим именем, тогда последний sessionID переопределит предыдущий ..

Так что невозможно иметь разные логины в одном браузере ... но использовать другой браузер (не другой экземпляр того же браузера))

5 голосов
/ 11 января 2012

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

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

2 возможности приходят на ум:

  • Используйте скрытое поле на каждой странице, которое будет содержать идентификатор сеанса
  • Добавить сеансидентификатор строки запроса всех запросов
0 голосов
/ 11 января 2012

Internet Explorer предлагает функцию «Новый сеанс» в меню «Файл». Это позволит второму пользователю войти на ваш сайт, в то время как другой уже вошел в систему. Однако при этом откроется новое окно, в котором невозможно запустить отдельный сеанс на другой вкладке.

Другие браузеры могут предлагать аналогичную функцию.

0 голосов
/ 11 января 2012

Это невозможно, поскольку сеансы распределяются между вкладками.Они должны использовать разные браузеры, или последний пользовательский сеанс удалит предыдущий пользовательский сеанс

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