我正在尝试处理应用程序中的角色,但是我遇到一个问题:当我从应用程序清除缓存或注销并再次登录时,我想重定向到登录名,但它向我发送以下错误
试图获取非对象的属性“ 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');
}
}
答案 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');
}