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

时间:2009-12-26 15:08:46

标签: asp.net session

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

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

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

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

1 个答案:

答案 0 :(得分:5)

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