Когда аутентифицированный пользователь должен быть сброшен? - PullRequest
0 голосов
/ 14 апреля 2009

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

Это поведение плохо?

Я также заметил, что если я закрою все свои браузеры, а затем открою новый и зайду на сайт, я НЕ войду в систему.

Ответы [ 3 ]

3 голосов
/ 14 апреля 2009

Это потому, что эти сайты используют сеансовые куки. Если вы одновременно откроете разных brwosers, таких как FireFox, Opera, Chrome и IE, вам придется войти во все браузеры независимо. Однако при повторном использовании того же приложения браузера это обычно не порождает новый процесс с его собственными данными сеанса, а скорее повторно использует уже открытый браузер.

1 голос
/ 15 апреля 2009

Лусеро и Пмарфли верны.

Чтобы предоставить немного больше информации:

Firefox будет делить сеанс между вкладками и всеми экземплярами браузера

IE 8 также будет делить сеанс между вкладками и всеми экземплярами браузера

IE 7 разделяет сеанс между вкладками, но не между экземплярами

IE 6 не разделяет сеанс между экземплярами

Я не уверен, как Opera, Chrome или Safari обрабатывают сессии.

1 голос
/ 14 апреля 2009

Если вы используете браузер, который поддерживает сеансы с несколькими вкладками, например, IE7 +, Firefox и т. Д. Вы обнаружите, что, если у вас один и тот же веб-сайт ASP.NET, открытый на нескольких вкладках, каждая вкладка будет иметь одинаковые учетные данные для аутентификации. Это связано с тем, что идентификатор сеанса применяется к экземпляру браузера, а не к экземпляру вкладки, поэтому, если пользователь входит в систему на 1 вкладке, а затем открывает еще одну вкладку для веб-сайта, ему не нужно будет предоставлять свои учетные данные дважды.

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

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