【问题标题】:How to Force Logout all users from backend Admin Panel in Laravel?如何从 Laravel 的后端管理面板强制注销所有用户?
【发布时间】:2019-11-13 19:59:13
【问题描述】:

我试图从管理面板强制注销网站中的所有登录用户。

出于测试目的,我已经登录了 3 个不同的浏览器,我已经从数据库中清除了 sessions 表中的所有条目,然后尝试刷新页面,但用户仍保持登录状态,如下所示:

并在sessions 表中找到了新条目

但我想像下面这样,当从后端强制注销时。

我想强制注销用户并清除所有会话请指导我怎么做?

【问题讨论】:

标签: laravel session authentication laravel-5.7


【解决方案1】:

如果您的users 表中有remember_token 列,您可能还需要更新该列:

DB::table('users')->update(['remember_token' => null]);

【讨论】:

  • 我第一次登录时 419 会话过期,强制注销后,为什么会发生这种情况?
  • remember_token 是用户登录并在登录表单上选择记住我选项的时候。
【解决方案2】:

我已经用下面的函数解决了:

use DB;

public function force_logout(){
        DB::table('users')->update(['remember_token' => null]);
        DB::table('sessions')->delete();
}

【讨论】:

  • 把别人的建议作为你的解决方案做得很好:)
猜你喜欢
  • 2019-04-30
  • 1970-01-01
  • 2016-11-04
  • 2014-11-02
  • 2011-07-26
  • 2017-11-18
  • 2017-07-01
  • 2014-01-18
  • 2019-12-18
相关资源
最近更新 更多