【问题标题】:Auth:user() is showing null in Laravel 7 particular to the controller UserControllerAuth:user() 在 Laravel 7 中显示 null 特定于控制器 UserController
【发布时间】:2025-12-24 02:55:12
【问题描述】:

我在网上搜索并没有找到解决问题的解决方案。我在 UserController 中遇到问题,在其他控制器中它工作正常。看看路线

Route::group(['roles' => ['Super Admin', 'Admin']], function () {
    Route::resource('user','UserController')->middleware(['auth','roles']);
 });

和用户控制器

class UserController extends Controller
{
    /**
     * Create a new controller instance.
     *
     * @return void
     */
    public function __construct()
    {
        $this->middleware('auth');
        print_r(Auth::user());
        exit();
    }

【问题讨论】:

  • 你无法在__construct()方法中访问这样的中间件
  • 好吧,我不知道。它工作正常

标签: php php-7.3 laravel-7.x


【解决方案1】:

在创建控制器实例时不会执行包括“auth”在内的中间件。因此,如果您在控制器的构造函数中调用 Auth::user(),它总是返回 null。仅在控制器的其他方法中使用 Auth::user()。

【讨论】: