God*_*ftw 2 php laravel laravel-5
在我的laravel 5应用程序中,有一个功能允许具有admin角色的用户重置任何非管理员的密码,但是这并不会强制该用户注销并再次登录.一旦密码更改,我该如何强制用户注销?我没有对中间件进行任何更改来验证用户或任何东西.
Mar*_*łek 10
我不知道它是否会起作用,但您可以尝试:
// get current user
$user = Auth::user();
// logout user
$userToLogout = User::find(5);
Auth::setUser($userToLogout);
Auth::logout();
// set again current user
Auth::setUser($user);
Run Code Online (Sandbox Code Playgroud)
我认为最快的解决方案是向用户数据库表添加一个标志,例如一个布尔列,to_logout并在 Auth 中间件中添加类似此代码的内容。
$user = Auth::user();
if($user->to_logout){
Auth::logout();
$user->update(['to_update' => 0]);
return redirect('/');
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7138 次 |
| 最近记录: |