Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/274.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
Php Laravel注销特定用户_Php_Laravel_Laravel 5_Laravel 5.1 - Fatal编程技术网

Php Laravel注销特定用户

Php Laravel注销特定用户,php,laravel,laravel-5,laravel-5.1,Php,Laravel,Laravel 5,Laravel 5.1,我知道这是一个古老的话题,我知道存在数千个类似的问题(如果不是数百万的话),但没有人对我的问题给出具体的答案。 我的系统中有一个禁止功能,应用程序的主控(或管理员)可以禁止不需要的用户,但如果最后一个用户已经打开了会话,他们仍然可以毫无问题地使用网站(直到他们注销,然后他们就不能再登录)。 目前,我搬到了redis,我安排了一切,但我的问题仍然是在我实施新解决方案之前登录的用户,因为在我的系统中,我有一种监控,我可以看到他们花钱并享受网站没有任何问题(电子商务web app)。 我不会在每个请求

我知道这是一个古老的话题,我知道存在数千个类似的问题(如果不是数百万的话),但没有人对我的问题给出具体的答案。

我的系统中有一个禁止功能,应用程序的主控(或管理员)可以禁止不需要的用户,但如果最后一个用户已经打开了会话,他们仍然可以毫无问题地使用网站(直到他们注销,然后他们就不能再登录)。

目前,我搬到了redis,我安排了一切,但我的问题仍然是在我实施新解决方案之前登录的用户,因为在我的系统中,我有一种监控,我可以看到他们花钱并享受网站没有任何问题(电子商务web app)。

我不会在每个请求上添加检查或中间件,因为这只会减慢应用程序的速度。
另外,讨论从laravel查找会话文件的一些解决方案对我的情况也没有帮助。
有什么建议或解决办法吗?

更新

我可以访问
redis cli
并键入
KEYS*
,然后可以查看所有会话,但我不知道哪个会话属于哪个用户。如何通过用户id在redis中获取会话,然后在Laravel中删除它

我不知道这一切有多重要,但仅仅删除所有会话是一个解决方案吗?当然,每个用户都必须再次登录,但这会为您节省几个小时的编程时间。您必须在标头中编写一段代码,检查禁令并将其注销。我每次写任何东西都会这样做(事实上这是必要的),每次调用都会这样做(即使是异步json调用),这不会减慢应用程序的速度,顺便说一句,您也会对密码更改这样做。您还可以用javascript编写一个websocket客户端接收器,用于广播状态更改,以便在发布代码后,他们眼前的当前会话立即发生更改?这使得帮助你更容易。我相信您必须在users表中创建一个“blocked”标志,从而检查每个请求是否允许用户使用系统。我想远离任何数据库更改我在users表中已经有一个禁用标志,但我不喜欢使用中间件或检查每个用户的请求