【发布时间】:2017-02-06 15:33:47
【问题描述】:
您好有一个中间件,我必须确保它在 auth 中间件之后运行。我如何保证 auth 中间件在我之前处理?这甚至可能吗?
提前致谢。
【问题讨论】:
标签: php laravel laravel-5 middleware
您好有一个中间件,我必须确保它在 auth 中间件之后运行。我如何保证 auth 中间件在我之前处理?这甚至可能吗?
提前致谢。
【问题讨论】:
标签: php laravel laravel-5 middleware
来自 laravel 5.4 文档:
Route::get('/', function () {
//
})->middleware('first', 'second');
第一个和第二个必须是路由中间件,如果你在 app/Http/Kernel.php 中查找就可以找到它们。
【讨论】:
__construct() 并调用$this->middleware()?
__construct() 方法中多次调用$this->middleware(),它们应该以相同的顺序调用。我不太确定,但你可以自己试试。
您的中间件将在之后运行,身份验证中间件具有更高的优先级。查看 Kernel 基类 (Illuminate\Foundation\Http\Kernel) 的变量 $middlewarePriority。
第一个中间件是 StartSession,这就是我们想要的。
如果需要,您可以修改此变量以在 Auth 之前运行您的中间件之一。
【讨论】: