Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/339.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Flask注销特定用户的所有会话_Python_Session_Flask_Session Cookies_Flask Login - Fatal编程技术网

Python Flask注销特定用户的所有会话

Python Flask注销特定用户的所有会话,python,session,flask,session-cookies,flask-login,Python,Session,Flask,Session Cookies,Flask Login,使用Flask登录注销用户时,是否有办法注销用户可能拥有的所有会话(例如:在不同浏览器、不同设备等中)?Flask登录将用户id存储在Flask会话中,该会话是客户端会话,数据存储在用户浏览器的cookie文件中。因此,您不能删除客户端所有设备和浏览器中的cookie 尽管如此,您还是可以在帮助下使用服务器端会话,例如用于Flask的Redis和Flask会话扩展。服务器端会话将解决同时为任何用户的浏览器或设备删除或操纵(想象管理员授予或删除用户权限)用户会话的问题 Flask Login将用户

使用Flask登录注销用户时,是否有办法注销用户可能拥有的所有会话(例如:在不同浏览器、不同设备等中)?

Flask登录将用户id存储在Flask会话中,该会话是客户端会话,数据存储在用户浏览器的cookie文件中。因此,您不能删除客户端所有设备和浏览器中的cookie

尽管如此,您还是可以在帮助下使用服务器端会话,例如用于Flask的Redis和Flask会话扩展。服务器端会话将解决同时为任何用户的浏览器或设备删除或操纵(想象管理员授予或删除用户权限)用户会话的问题


Flask Login将用户id存储在Flask会话(即客户端会话)中,数据存储在用户浏览器中的cookie文件中。因此,您不能删除客户端所有设备和浏览器中的cookie

尽管如此,您还是可以在帮助下使用服务器端会话,例如用于Flask的Redis和Flask会话扩展。服务器端会话将解决同时为任何用户的浏览器或设备删除或操纵(想象管理员授予或删除用户权限)用户会话的问题


正如Artiom在回答中所说,Flask登录默认使用Flask会话,它是客户端,您将无法从其他客户端删除所有这些cookie

但是,有一种方法可以防止其他客户端登录。Flask Login依赖于
user\u loader
回调函数从缓存中提取用户,该函数在来自用户客户端的每个HTTP请求上都会被调用


您可以在注销时从缓存中删除此特定用户。这样,当此用户使用的任何客户端(电话、其他浏览器等)尝试访问您的页面时。Flask Login在缓存中找不到用户,会将用户重定向到登录页面。

正如Artiom在回答中所说,Flask Login默认使用客户端的Flask会话,您将无法从其他客户端删除所有这些cookie

但是,有一种方法可以防止其他客户端登录。Flask Login依赖于
user\u loader
回调函数从缓存中提取用户,该函数在来自用户客户端的每个HTTP请求上都会被调用

您可以在注销时从缓存中删除此特定用户。这样,当此用户使用的任何客户端(电话、其他浏览器等)尝试访问您的页面时。Flask Login在缓存中找不到用户,并将其重定向到登录页面