为了账号安全,请及时绑定邮箱和手机立即绑定

Laravel 6x 中间件

Laravel 6x 中间件

PHP
波斯汪 2022-07-16 18:17:29
我对 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);

}


查看完整回答
反对 回复 2022-07-16
  • 1 回答
  • 0 关注
  • 75 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信