Как выйти из системы из исходного местоположения, когда он входит из другого местоположения? (Веб-сайт asp.net) - PullRequest
1 голос
/ 26 сентября 2010

Я создаю веб-сайт в Visual Studio 2008.

Я хочу разрешить текущему пользователю входить в систему, но выходить из системы любого другого пользователя, вошедшего в систему под тем же именем пользователя, что и текущий пользователь.(точно так же, как это делает Y! M, когда вы входите из другого местоположения: он выводит вас из исходного местоположения). Для управления входом и регистрацией я использую Visual Studio createuserwizard и вход в систему cotrol.

Есть идеи?

Ответы [ 2 ]

0 голосов
/ 29 сентября 2010

После некоторых дополнительных исследований я нашел решение.

Всякий раз, когда пользователь входит в систему, я создаю сеанс, скажем session ["user"] = NewGuid (), и я добавляю это же значение GUID в поле базы данных для этого пользователя.(например, в таблицу пользователей я добавил новый столбец с именем сеанс)

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

0 голосов
/ 26 сентября 2010

Как насчет проверки, если они уже вошли в систему с помощью метода Application_AuthenticateRequest в Global.asax.cs. Конечно, чтобы сделать это, вам нужно сначала сохранить какую-то таблицу поиска, откуда они вошли в систему. Вы можете получить и использовать IP-адрес пользователя, чтобы определить, что прокси-серверы от различных интернет-провайдеров могут помешать этому методу. В качестве альтернативы вы можете использовать куки-файл, чтобы установить GUID в первый раз, а затем проверить, чтобы тот же GUID присутствовал в последующих сеансах входа в систему, чтобы определить, хотите ли вы прекратить их другие сеансы.

Это начало.

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