Членство в ASP.net Принудительный пользователь оффлайн (как администратор) - PullRequest
4 голосов
/ 05 февраля 2011

Я ищу способ нарушить сеанс членства в ASP.net для конкретного пользователя.Причина, по которой я это делаю, заключается в том, что в качестве администратора я хочу удалить пользователя.Это работает нормально, но если у пользователя уже есть активный сеанс, он по-прежнему помечается как "подключенный к сети", пока этот сеанс не прекратится (я проверяю каждый раз, используя Current.User.Identity.IsAuthenticated).

Как мне убить сеанс, основываясь на пользователе, для которого он авторизован.Таким образом, когда я делаю Memberships.DeleteUser (имя пользователя), я также могу делать Sessions.KillByUser (имя пользователя)

Заранее спасибо


Я закончил следовать их предложению и использовал следующий методдля тех, у кого такая же проблема: http://www.chillaxen.com/2011/02/asp-net-force-a-user-offline-as-admin-destroy-a-session-by-username/

Ответы [ 2 ]

1 голос
/ 05 февраля 2011

Как насчет добавления модуля HttpModule, который перехватывает событие PostAuthorizeRequest : проверьте учетные данные пользователей по глобальному списку идентификаторов, которые вы хотите "уничтожить". Если есть совпадение, убейте сессию пользователей.

0 голосов
/ 05 февраля 2011

Как предположил Якоб, или вы можете попробовать это ... в Global.asax проверьте, находится ли вошедший в систему пользователь в «Списке пользователей, которые должны быть отключены», а затем выйдите из системы с помощью проверки подлинности с помощью форм или удаления файла cookie.

...