Как препятствовать тому, чтобы несколько окон браузера совместно использовали ту же сессию в asp.net

У меня есть приложение ASP.net, которое является в основном экраном ввода данных для физического инспекционного процесса. Пользователи хотят смочь иметь несколько окон браузера, открывают и вводят данные из нескольких проверок одновременно. Сначала я использовал основанные на cookie сессии, и очевидно это аварийно завершилось.

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

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

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

15
задан Barry 25 March 2010 в 16:52
поделиться

3 ответа

Подумайте об использовании ViewState вместо Session, так как ViewState отображает информацию о состоянии клиенту (HTML-странице). Я не уверен, сможете ли вы когда-нибудь получить подробный контроль над поведением сеанса браузера, потому что идентификатор сеанса поддерживается браузером так, как это сделал производитель. Таким образом, ViewState является более предсказуемым не только для будущих версий браузера.

5
ответ дан 1 December 2019 в 04:09
поделиться

Создайте новый sessionId, если запрос не имеет реферера. Это решает проблему копирования и вставки URL. Сохраните sessionId в URL-адресе, как вы это делали.

0
ответ дан 1 December 2019 в 04:09
поделиться

Должны ли пользователи входить в систему с разными учетными записями для доступа к различным физическим проверкам? Мне кажется, что до тех пор, пока PhysicalInspectionID является частью URL, тогда не должно возникнуть проблем с одновременным редактированием нескольких физических проверок.

Например,

http://inspections.mydomain.com/edit/23

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

2
ответ дан 1 December 2019 в 04:09
поделиться
Другие вопросы по тегам:

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