Как я могу запретить всем экземплярам браузера Firefox использовать один и тот же файл cookie аутентификации? - PullRequest
0 голосов
/ 03 мая 2009

Я реализовал проверку подлинности с помощью форм, создав Default.aspx и пользовательскую страницу входа с именем login.aspx. Если пользователи, не прошедшие проверку подлинности, переходят на Default.aspx, они перенаправляются на login.aspx, и только если найдено совпадение для предоставленных учетных данных, пользователь перенаправляется на default.aspx.

  • Но при использовании Firefox кажется, что все экземпляры браузера используют один и тот же экземпляр cookie аутентификации, и, таким образом, если пользователь в браузере B1 входит в систему как пользователь U1, то все экземпляры браузера, посещающие это веб-приложение, будут зарегистрированы как пользователь U1. Так, если, например, экземпляр браузера B1 впервые запрашивает Default.aspx , ему будет немедленно предоставлен доступ.

  • Если после того, как я войду в систему как пользователь U1, я зайду на login.aspx и войду в систему с другим именем пользователя (скажем, пользователь U2), то при обратной передаче все браузеры (ранее входившие в систему как пользователь U1) теперь будут вошел как пользователь U2.

Как я могу предотвратить подобное поведение, чтобы каждый экземпляр браузера получал свой собственный файл cookie аутентификации?

Ответы [ 3 ]

5 голосов
/ 03 мая 2009

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

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

Если вы просто хотите, чтобы это облегчало тестирование, почему бы не настроить отдельный профиль тестирования и запустить отдельный экземпляр Firefox, присоединенный к этому?

3 голосов
/ 03 мая 2009

Быстрый эксперимент показал мне, что подразумевает Shog9. Запустите Firefox. Затем запустите другой «экземпляр» Firefox. Затем посмотрите в диспетчере задач, и вы увидите, что у вас запущен только один процесс firefox.exe.

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

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


РЕДАКТИРОВАТЬ: некоторые ресурсы в профилях в FireFox:

1 голос
/ 03 мая 2009

Во-вторых, ваш вопрос смутно сформулирован. Firefox позволяет вам иметь произвольное количество наборов файлов cookie. Каждый набор должен быть частью профиля Firefox. В каждом профиле может быть произвольное количество открытых окон и процессов (обратите внимание, чтобы избежать присоединения к существующему процессу, вы должны использовать no-remote ).

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

...