Можно ли проводить сеансы в веб-сеансе? - PullRequest
0 голосов
/ 08 февраля 2009

Я разрабатываю приложение, в котором мне нужно поддерживать несколько экземпляров браузера на одном компьютере, но с разными логинами пользователей! Если мы откроем два разных экземпляра процесса IE, на стороне сервера будут разные сессии, но это не относится к Firefox (поправьте меня, если я ошибаюсь). Таким образом, есть ли какой-нибудь способ, которым я могу каким-либо образом связать специфическую информацию для входа в систему с каждым HTTP-запросом (GET / POST), поступающим на веб-сервер. Я изучаю переписывание URL / cookie, но не получаю правильное представление.

Пожалуйста, поделитесь своими идеями / взглядами.

Спасибо

Jatan

Ответы [ 3 ]

1 голос
/ 08 февраля 2009

Хотя это возможно путем передачи какого-либо токена во всех URL-адресах, используемых в приложении, он будет очень хрупким.

Вам действительно нужно вернуться к тем, кто спонсирует требование, и сообщить им, что это конкретное требование очень дорого, действительно ли они хотят продолжить?

0 голосов
/ 08 февраля 2009

Если вы используете NT-аутентификацию, она будет работать автоматически. Пользователи должны будут запустить IE или FireFox с «Запуск от имени пользователя».

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

Другой вариант - изменить систему аутентификации. Разрешить пользователям выполнять обе роли с помощью одной новой роли.

Еще один вариант - указать пользователям запускать разные экземпляры IE, которые по умолчанию будут поддерживать разные формы входа. Или один Firefox и один IE.

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

0 голосов
/ 08 февраля 2009

РЕДАКТИРОВАТЬ: При второй мысли я думаю, что вам придется динамически изменять все ваши ссылки, чтобы включить идентификатор сессии в переменные.

Больше анализа:

Это было в комментарии, потом стало слишком длинным.

Полагаю, вы могли бы сделать это с помощью одного сеанса и файлов cookie, как это традиционно. Когда пользователь регистрируется во второй раз, вы записываете его как набор «2» или некоторый общий идентификатор. Затем используйте URL-адреса, такие как (я знаю только php) "... index.php? User = 2". Затем, когда пользователь переходит по ссылке, она может быть сопоставлена ​​с имеющимися данными. Таким образом, идентификатор сеанса остается вне URL, и вам нужен только один сеанс для каждого пользователя.

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

...