无法访问用户对象

时间:2019-10-16 14:48:15

标签: laravel laravel-5 eloquent

我正在尝试处理应用程序中的角色,但是我遇到一个问题:当我从应用程序清除缓存或注销并再次登录时,我想重定向到登录名,但它向我发送以下错误

  

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

<?php

namespace App\Http\Middleware;

use Closure;

class Admin
{
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @return mixed
     */
    public function handle($request, Closure $next)
    {
            if (\Auth::user()->rol == 'Admin') {
              return $next($request);
            }

            return redirect()->guest('login');


    }
}

1 个答案:

答案 0 :(得分:1)

您必须检查用户是否已登录,然后询问用户是否具有角色

use Illuminate\Support\Facades\Auth; 

 public function handle($request, Closure $next)
 {   
   if (Auth::check()) {

      if (Auth::user()->rol == 'Admin') {
          return $next($request);
        }

        return redirect()->guest('login');

       }

     return redirect()->guest('login');


}