我正在尝试从管理面板强制注销网站中的所有登录用户。
出于测试目的,我登录了 3 个不同的浏览器,我已清除数据库中
sessions
表中的所有条目,然后尝试刷新页面,但用户仍保持登录状态,如下所示:
并在
sessions
表 中找到了新条目
但我想要像下面这样,当从后端强制注销时。
我想强制注销用户并清除所有会话,请指导我如何操作?
如果您的
remember_token
表中有 users
列,您可能也想更新该列:
DB::table('users')->update(['remember_token' => null]);
我已经使用以下函数解决了:
use DB;
public function force_logout(){
DB::table('users')->update(['remember_token' => null]);
DB::table('sessions')->delete();
}
我认为我们可以每次在中间件中检查状态是否为假。 注销用户并重定向到登录。 并检查登录基本逻辑
if (Auth::user()->active == 0) {
Auth::logout();
return redirect()->route('admin.login');
}