试图获取非对象的属性“ is_admin”

时间:2019-04-14 17:59:59

标签: laravel

我正在尝试为管理员构建身份验证中间件 但是我试图获取非对象的属性'is_admin'

namespace App\Http\Middleware;
use Illuminate\Support\Facades\Auth;
use Closure;

class Admin
{
    public function handle($request, Closure $next)
{ 
    if(auth()->user()->is_admin == 1){
        return $next($request);
        }
       return redirect()->route('login');

}

当我打印dd(auth()-> user())时 它返回null

1 个答案:

答案 0 :(得分:1)

auth()->user() 返回null

为什么?

因为用户尚未登录。

因此,您可以从以下位置修改条件:

if(auth()->user()->is_admin == 1)

收件人:

if(auth()->check() && auth()->user()->is_admin == 1)