我有一个管理员帐户和用户帐户 当我将$ user-> active设置为0时,我想让在线用户立即离开我的管理员帐户并立即拒绝所有导航:
$user->active = 0;
答案 0 :(得分:0)
您想在状态更改为非活动状态后注销用户吗?
如果是这种情况,你可以
public function updateUserStatus(){
$user = Auth::user();
$user->active = false;
$user->save();
Auth::logout();
return redirect("/home");
}
答案 1 :(得分:0)
我决定使用中间件:
第1步:在终端
php artisan make:middleware ActiveCompt
步骤2设置中间件:
<?php
namespace App\Http\Middleware;
use Auth;
use Closure;
class ActiveCompt
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
if (Auth::check()){
if ($request->user()->statut == 1) {
return redirect('logout');
}
}
return $next($request);
}
}
第3步:定义路线。在karnel.php
protected $routeMiddleware = [
.
.
.
'ActiveCompt' => \App\Http\Middleware\ActiveCompt::class,
];
第4步:从构造函数中调用中间件ActiveCompt
$this->middleware('ActiveCompt');