我正在尝试为管理员构建一个身份验证中间件,但我尝试获取非对象的属性“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');
}
Run Code Online (Sandbox Code Playgroud)
当我打印 dd(auth()->user()) 时它返回 null
auth()->user() 正在返回null
为什么?
因为用户没有登录。
因此,您可以通过以下方式修改您的条件:
if(auth()->user()->is_admin == 1)
到:
if(auth()->check() && auth()->user()->is_admin == 1)
| 归档时间: |
|
| 查看次数: |
3160 次 |
| 最近记录: |