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

问题描述 投票:1回答:1

嗨我在/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中注册了中间件

然后我只是在Controller.php中调用__construct

$this->middleware('rights:aRight');

我知道名字是愚蠢的名字,但它只是一个例子,我只是学习。

谢谢你的回答。

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

即使我在__constructor(){$ this-> middleware('auth')中使用,也会发生这种情况

php laravel authentication middleware
1个回答
1
投票

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

Route::group(['middleware' => 'web'], function () {
    include __DIR__."/routes.php";
});
© www.soinside.com 2019 - 2024. All rights reserved.