我拥有一个游戏网站。我不时会出于不同的原因暂停用户。他们作弊或者他们是坏用户。暂停用户后,他们无法再在我的网站上登录,直到暂停期限到期。
然而,暂停用户后他仍然可以访问该网站,可以与其他用户聊天,可以创建论坛帖子,可以做各种事情,那是因为他仍然在网站上登录。我不能对此做任何事情,大多数时候我需要重新启动IIS才能摆脱糟糕的用户。
我可以做什么来从我的ASP .NET会话中杀死用户会话?我反对使用SQL来存储用户会话变量。
我更喜欢在每个用户请求上检查ASP .NET会话/应用程序变量,如果该变量包含已暂停用户的ID,则立即将其注销。
答案 0 :(得分:5)
您无法以您想要的方式访问会话。您可以做的是在应用程序缓存中保留已暂停用户的列表。在每个页面请求和每次登录尝试中,您可以在列表上查找以查看当前用户是否被暂停。如果是,您可以将他注销并放弃他的会话,或阻止新登录。