成功验证我正在设置的用户 -
self.set_secure_cookie('user', str(user.id), 1)
self.set_secure_cookie('expires_days', 1)
self.set_secure_cookie('max_age_days', 1)
现在要求注销特定操作的所有用户。为此,我正在尝试 -
self.clear_all_cookies()
但这只是注销当前用户。其他用户不是从其他计算机或浏览器登录的。
我正在使用龙卷风4.3和Python 2.7
我可以这样做吗?
答案 0 :(得分:0)
您无法删除所有"已连接的#34;用户可以单独处理每个请求,但您可以尝试使其无效,以便在下次请求时将其删除。
一个简单的解决方案是在cookies_valid_from
和用户登录中存储Application
时间戳,为用户设置created_on
时间戳Cookie。您的get_current_user()
函数可能如下所示:
def get_current_user(self):
if self.get_secure_cookie("created_on") < self.application.cookies_valid_from:
self.clear_all_cookies()
return None
return self.get_secure_cookie("user")
具体&#34;注销所有用户&#34;您提到的操作只需将cookies_valid_from
时间戳更新为当前时间。
答案 1 :(得分:0)
要使所有内容无效,您只需更改Cookie密码即可。所有现有的cookie都将被忽略,您可以开始发布新的cookie。但是如果你需要比这更细微的东西,你必须将它设计到你的身份验证协议中。例如,不要只将用户ID存储在cookie中,存储会话ID并跟踪数据库或缓存中当前有效的会话ID。然后,您可以通过从数据库中删除其ID来使用户会话无效。