Избегайте одновременного входа в систему (выхода из предыдущего сеанса входа) в членстве ASP.net - PullRequest
2 голосов
/ 08 января 2010

Я изучаю функцию членства в ASP.net.

Мне интересно, как я могу реализовать так, чтобы при последующем сеансе входа в систему выходил из предыдущего сеанса входа в систему, чтобы избежать одновременного входа в систему. Я знаю, как проверить, подключен ли пользователь к сети (с помощью Membership.IsOnline ()), и выйти из системы текущего пользователя (с помощью FormsAuthentication.SignOut ()). Но я не знаю, как выйти из предыдущего сеанса входа.

Любой код или ссылку, которую я могу прочитать?

Ответы [ 2 ]

3 голосов
/ 15 марта 2010

Эта статья имеет ту же реализацию, но более подробно и со всем необходимым кодом:

http://teknohippy.net/2008/08/21/stopping-aspnet-concurrent-logins/

1 голос
/ 09 января 2010

Я не думаю, что существует явный способ сделать это.

Один из способов реализовать это - сохранить какой-то токен входа в систему (идентификатор сеанса?) В кэше, когда пользователь входит в систему.в. Вызывайте старый токен каждый раз, когда пользователь входит в систему. Затем добавьте модуль HttpModule, который проверяет этот токен ... когда поступает запрос, который не совпадает, выйдите из системы.Или же разместите эту логику на главной странице или объекте страницы, от которого наследуются все страницы вашего приложения.

...