从管理员会话中杀死ASP .NET用户会话

Ali*_*ile 2 asp.net session

我拥有一个游戏网站.我不时会出于不同的原因暂停用户.他们作弊或者他们是坏用户.暂停用户后,他们无法再在我的网站上登录,直到暂停期限到期.

但是,暂停用户后他仍然可以访问该网站,可以与其他用户聊天,可以创建论坛帖子,可以做各种事情,那是因为他仍然在网站上登录.我不能对此做任何事情,大多数时候我需要重新启动IIS才能摆脱糟糕的用户.

我可以做什么来从我的ASP .NET会话中杀死用户会话?我反对使用SQL来存储用户会话变量.

我更喜欢在每个用户请求上检查ASP .NET会话/应用程序变量,如果该变量包含已挂起用户的ID,则立即将其注销.

Ray*_*Ray 5

您无法以您想要的方式访问会话.您可以做的是在应用程序缓存中保留已暂停用户的列表.在每个页面请求和每次登录尝试中,您可以在列表上查找以查看当前用户是否被暂停.如果是,您可以将他注销并放弃他的会话,或阻止新登录.