Значение cookie ASP.NET_SessionId не разрешает несколько входов в одно и то же веб-приложение с одного компьютера. - PullRequest
1 голос
/ 21 сентября 2009

У нас есть веб-приложение, работающее на ASP.NET 3.5. Он рассматривается в мире как один URL, но на самом деле существует несколько блоков IIS, в которых размещается приложение, управляемое балансировщиком нагрузки.

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

Есть идеи, как мне это обойти?

Ответы [ 2 ]

2 голосов
/ 21 сентября 2009

Идентификатор сеанса помещается в файл cookie. Если откроется другое окно браузера и начнется второй сеанс, идентификатор в файле cookie будет заменен.

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

1 голос
/ 21 сентября 2009

Большинство веб-приложений допускают только один сеанс на ПК. Попробуйте войти в Yahoo Mail, Amazon или Ebay дважды на одной машине, и вы обнаружите ту же проблему. Таким образом, ASP.NET в значительной степени основан на идее, что на ПК приходится один логин. Хотя, если на компьютере установлено несколько браузеров, вы, как правило, можете входить в приложения несколько раз, поскольку каждый браузер хранит свою собственную коллекцию файлов cookie.

edit: Возможно, вы захотите попробовать сессий без cookie , теоретически они могут разрешить несколько сеансов на ПК, хотя я не пробовал. Но сеансы без печенья сопровождаются множеством собственных проблем и ограничений.

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

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