Php 从laravel中的routeserviceprovider创建路由时中间件不工作
从路由服务创建路由文件,提供并分配中间件“admin.auth”,该中间件在web.php中工作,提供admin用户的基本信息,但从custom.php返回auth false。admin.auth如何从路由服务提供商处工作Php 从laravel中的routeserviceprovider创建路由时中间件不工作,php,laravel,laravel-5,Php,Laravel,Laravel 5,从路由服务创建路由文件,提供并分配中间件“admin.auth”,该中间件在web.php中工作,提供admin用户的基本信息,但从custom.php返回auth false。admin.auth如何从路由服务提供商处工作 protected function mapWebRoutes2() { Route::group([ 'namespace' => $this->namespace, 'prefix'
protected function mapWebRoutes2()
{
Route::group([
'namespace' => $this->namespace,
'prefix' => 'custom',
'middleware' => 'admin.auth'
], function ($router) {
require base_path('routes/custom.php');
});
}
尝试复制api路由的现有示例。在您的示例中,类似于:
/**
* Define the "custom" routes for the application.
*
* @return void
*/
protected function mapWebRoutes2()
{
Route::prefix('custom')
->middleware(['admin.auth'])
->namespace($this->namespace)
->group(base_path('routes/custom.php'));
}
确保包含
web
中间件,否则默认身份验证将无法工作,因为会话等未启动:
protected function mapWebRoutes2()
{
Route::group([
'namespace' => $this->namespace,
'prefix' => 'custom',
'middleware' => ['web', 'admin.auth']
], function () {
require base_path('routes/custom.php');
});
}
或更短:
protected function mapWebRoutes2()
{
Route::prefix('custom')
->middleware(['web', 'admin.auth'])
->namespace($this->namespace)
->group(base_path('routes/custom.php'));
}
如果这有助于你自由地接受答案。:)永远跟我走。在文件本身中看到的只是复制和使用#SOreadytohelpit不使用此方法。如果我在web.php中添加文件以生成不同的文件来路由,它的工作需要DIR/php';你为什么要那样做?在
路由
目录位置中创建所需的文件。然后,您可以在RouteServiceProvider
中添加所有这些。问题解决了。我不止一次这样使用它,而且它工作得很好,而且它被很好地分离和解耦。我在这里说的这种方式失败了吗?