как убить сеанс другого пользователя - PullRequest
1 голос
/ 23 января 2011

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

спасибо

1 Ответ

3 голосов
/ 23 января 2011

Вы не можете убить другую сессию.

То, что вы можете сделать, - это сохранить в каком-то глобальном контексте (приложение, текстовый файл или базу данных) список всех пользователей, вошедших в данный момент в систему, и позволить администратору добавить глобальный "флаг" для каждого, отмечающего Пользователь как «забанен», затем перед показом запрещенного контента, в дополнение к проверке, вошел ли пользователь в систему, убедитесь, что он не помечен.

Использование переменной уровня приложения - это самый простой способ, при условии, что у вас нет тысяч пользователей одновременно, вы можете добавить пользователей в событие Session_Start в global.asax и удалить их в событии Session_End. Храните пользователей как обычных List<string> и располагайте отдельным списком, содержащим помеченных / заблокированных пользователей.

Надеюсь, логика достаточно ясна, дайте мне знать, если вам нужна помощь в ее реализации.

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