我对 Laravel 还很陌生。我一直在研究中间件以及如何实现这一点并基于文档。我有一条通过我的 IsAdmin 中间件类的路线。由于某种原因,当用户 IsAdmin 设置为 0 时,它仍在完成请求。namespace App\Http\Middleware;use Closure;use Illuminate\Support\Facades\DB;use Illuminate\Support\Facades\Auth;class IsAdmin{ /** * Handle an incoming request. * * @param \Illuminate\Http\Request $request * @param \Closure $next * @return mixed */ public function handle($request, Closure $next) { $IfAdmin = auth()->user()->IsAdmin; if (!auth()->user()->IsAdmin = "1"){ abort(403, 'Unauthorized action.'); }else{ return $next($request); } }}在我的数据库中,用户表“IsAdmin”设置为 0。我已经能够通过在另一个页面上运行确认用户 IsAdmin 为 0 的查询来确认这一点。
1 回答
一只斗牛犬
TA贡献1784条经验 获得超2个赞
您需要进行变量比较。您的代码中有一个赋值运算符。文档 使用
if (!auth()->user()->IsAdmin){
abort(403, 'Unauthorized action.');
}else{
return $next($request);
}
- 1 回答
- 0 关注
- 75 浏览
添加回答
举报
0/150
提交
取消