Laravel内核中间件组适用于路由,但不适用于分组路由

时间:2017-03-15 10:20:21

标签: php laravel cors laravel-5.4

抱歉这个奇怪的标题。我不是母语人士。 所以,这是我的routes/api.php内容:

Route::post('login', 'Api\LoginController@login');

Route::group([
    'prefix' => 'restricted',
    'middleware' => 'auth:api',
], function () {
    // Authentication Routes...
    Route::post('logout', 'Api\LoginController@logout');

    Route::get('user', 'Api\LoginController@getUser');
});

正如您可能知道的那样,默认情况下,此文件中的每个路由都有api前缀。在我的Kernel.php中,我为api路由设置了中间件:

protected $middlewareGroups = [
    'web' => [
        ...
    ],

    'api' => [
        ...,
        \Barryvdh\Cors\HandleCors::class,
    ],
];

现在我的问题是,当我从一个分离的应用程序(angular.js应用程序)中点击myapp/api/login时,它工作正常,但当我尝试从myapp/api/restricted/user获取用户数据时,我得到{{1错误。

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

问题来自于ws.iter_rows()上的getUser方法。我不知道为什么会出现Api\Login Controller错误,但我很高兴它已修复。