【问题标题】:Can't access user object无法访问用户对象
【发布时间】:2020-02-13 09:36:24
【问题描述】:

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

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

<?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');


    }
}

【问题讨论】:

  • 请在 Stackoverflow 上用英语提问。但是您的错误意味着Auth::user()null。你登录了吗?
  • 去掉Auth前的斜线:Auth::user()不是\Auth::user()
  • 我已经登录了,但是我希望在清除缓存或不连接数据库时,重定向到登录

标签: laravel laravel-5 eloquent


【解决方案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');


}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-09-11
    • 1970-01-01
    • 2017-05-23
    • 2022-11-11
    • 2020-01-30
    相关资源
    最近更新 更多