Убить пользовательский сеанс ASP .NET из сеанса администратора - PullRequest
2 голосов
/ 26 декабря 2009

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

Однако, после приостановки пользователя, он все еще может получить доступ к сайту, может общаться с другими пользователями, может создавать сообщения на форуме, может делать все, потому что он остается в системе на сайте. Я ничего не могу с этим поделать, и большую часть времени мне нужно перезапустить IIS, чтобы избавиться от плохих пользователей.

Есть ли что-нибудь, что я могу сделать, чтобы убить сеанс пользователя из моего сеанса ASP .NET? Я против использования SQL для хранения пользовательских переменных сессии.

Я предпочитаю проверять переменную сеанса / приложения ASP .NET при каждом запросе пользователя и, если эта переменная содержит идентификатор приостановленного пользователя, немедленно выйти из него.

1 Ответ

5 голосов
/ 26 декабря 2009

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

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