首页 > 解决方案 > auth()->user() 在 ServiceProvider 中返回 null

问题描述

我尝试在 ServiceProvider 中获取用户 ID,但成功登录后 auth()->user() 返回 null 问题出在哪里?

它不仅在测试模式下工作

public function boot()
    {
        dd(auth()->user()); // => return null
        try {
            Permission::get()->map(function ($permission) {
//                dd('$permission');
                Gate::define($permission->slug, function ($user) use ($permission) {
                    return $user->hasPermissionTo($permission);
                });
            });
        } catch (\Exception $e) {
            report($e);

}

标签: laravel

解决方案


尝试使用:

use Auth;
public function boot(){
   Auth::user(); //or
   Auth::user()->name; //or
   Auth::user()->get();
}

推荐阅读