Laravel内核中间软件组可用于路线,但不适合分组路线



对不起,标题很奇怪。我不是母语的人。因此,这是我的routes/api.php内容:

Route::post('login', 'ApiLoginController@login');
Route::group([
    'prefix' => 'restricted',
    'middleware' => 'auth:api',
], function () {
    // Authentication Routes...
    Route::post('logout', 'ApiLoginController@logout');
    Route::get('user', 'ApiLoginController@getUser');
});

您可能知道,该文件内的每个路由默认情况下具有api前缀。在我的Kernel.php中,我为api路由设置了一个中间件:

protected $middlewareGroups = [
    'web' => [
        ...
    ],
    'api' => [
        ...,
        BarryvdhCorsHandleCors::class,
    ],
];

现在我的问题是,当我从标准应用(Angular.js应用程序)击中myapp/api/login时,它可以正常工作,但是当我尝试从myapp/api/restricted/user获取用户数据时,我会收到No 'Access-Control-Allow-Origin' header is present on the requested resource.错误。

我该如何修复?

问题来自ApiLogin Controller上的getUser方法。我不知道为什么这会导致No 'Access-Control-Allow-Origin' header is present on the requested resource.错误,但我很高兴它已修复。

最新更新