我正在尝试为管理员构建身份验证中间件 但是我试图获取非对象的属性'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
答案 0 :(得分:1)
auth()->user()
返回null
为什么?
因为用户尚未登录。
因此,您可以从以下位置修改条件:
if(auth()->user()->is_admin == 1)
收件人:
if(auth()->check() && auth()->user()->is_admin == 1)