Нужен следующий SessionID после вызова Session.abandon - PullRequest
0 голосов
/ 26 января 2011

Чтобы избежать фиксации / перехвата сеанса, мы прислушиваемся к общему совету по созданию нового сеанса ASP.Net для пользователя после аутентификации.Звучит достаточно просто.Когда пользователь аутентифицируется, мы вызываем Session.Abandon () cookie cookie идентификатора сеанса Response.Cookies.Add (новый HttpCookie ("ASP.NET_SessionId", ""), а затем перенаправляем пользователя.

Однако откуда мы знаемна новой странице, в которую вошел пользователь? Мы не можем проверить переменную сеанса, потому что ее нет, мы только что начали новый сеанс.

Я бы поклялся, хотя сейчас не могу его найти, что по этомуНа сайте кто-то объяснил, как вы можете отказаться от сеанса и затем получить следующий следующий идентификатор сеанса. Таким образом, вы можете сохранить эту информацию. Затем на «Стартовой странице» начнется новый сеанс, и эта страница сможет искать старый сеанс на основеновый идентификатор и подтверждение того, что пользователь вошел в систему.

Итак, есть ли мастера классов сеанса ASP.Net, которые знают, как это сделать?

Ответы [ 2 ]

0 голосов
/ 07 апреля 2011

Я работаю не очень долго, но моя текущая реализация - отказаться от сеанса на PageLoad страницы входа.

Таким образом, когда пользователь вводит свои учетные данные и нажимает кнопку входа, вы уже работаете с новым идентификатором сеанса.

0 голосов
/ 26 января 2011

Не могли бы вы после аутентификации пользователя:

  1. создать запись в таблице базы данных (например, «UserLogins»), которая состоит, например, из GUID, DateTime и ID пользователя.
  2. затем передайте GUID в качестве параметра URL перенаправленной странице
  3. и на этой странице прочитайте параметр URL и сравните его с записью в БД.

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

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