laravel 5.5 自定义库创建中间件 $request->user returns null

laravel 5.5 custom library creation middleware $request->user returns null

您好,我在 /vendor/myCustom/src/Middleware/aMdl.php

的新库中遇到 auth()->user() 或 $request->user() 问题
public function handle($request, Closure $next, $right)
{
    return var_dump($request->user()); <------ Here i get NULL

    if($request->user()->hasRights($right)){
        return $next($request);
    }

    return redirect("/");
}

这是一个简单的服务提供者

public function boot()
{


    $this->loadViewsFrom(__DIR__."/views", 'aFolder');
}

/**
 * Register services.
 *
 * @return void
 */
public function register()
{
    include __DIR__."/routes.php";
    $this->app->make("aCustomlib\aFolder\Controllers\aController");
}

一条简单的路线。

 Route::get("/aPath", "aCustomlib\aFolder\Controllers\aController@index");

我在Kernel.php

注册了中间件

然后我只是在 aController.php __constructor

中调用 __constructor
$this->middleware('rights:aRight');

我知道名字很傻,但这只是一个例子,我只是在学习。

感谢您的回答。

PS: 所有这些文件都在 /vendor 文件夹中

即使我在 __constructor(){ $this->middleware('auth')

中使用也会发生这种情况

您需要将路由包装在 web 中间件组中(启动并填充会话相关数据),例如:

Route::group(['middleware' => 'web'], function () {
    include __DIR__."/routes.php";
});