如何在 Laravel 后端管理面板中强制注销所有用户?

问题描述 投票:0回答:3

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

出于测试目的,我登录了 3 个不同的浏览器,我已清除数据库中

sessions
表中的所有条目,然后尝试刷新页面,但用户仍保持登录状态,如下所示:

并在

sessions

中找到了新条目

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

我想强制注销用户并清除所有会话,请指导我如何操作?

laravel session authentication laravel-5.7
3个回答
1
投票

如果您的

remember_token
表中有
users
列,您可能也想更新该列:

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

0
投票

我已经使用以下函数解决了:

use DB;

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

0
投票

我认为我们可以每次在中间件中检查状态是否为假。 注销用户并重定向到登录。 并检查登录基本逻辑

if (Auth::user()->active == 0) {
   Auth::logout();
   return redirect()->route('admin.login');
}
© www.soinside.com 2019 - 2024. All rights reserved.