首页  >  问答  >  正文

Laravel auth:api 中间件不适用于新创建的路由文件

<p>我有一个使用 Laravel 7 的 Web 应用程序。在该应用程序上,我最近在名为 <code>api/v2</code> 的文件夹下创建了一个新的 api.php 文件(<code>routes/api/v2/api .php</code>)。我面临的问题是,在新创建的 api.php 文件 'auth:api' 中间件无法工作。</p> <p>我检查了请求标头,发现这些路由的 <code>authorization</code> 标头为空。对于旧的路由文件,一切正常。</p> <p>我已经在 RouteServiceProvider.php 中注册了新的 api 文件,如下所示</p> <pre class="brush:php;toolbar:false;">Route::prefix('api/v2') ->middleware('api') ->namespace($this->namespace) ->group(base_path('routes/api/v2/api.php'));</pre> <p>除了身份验证问题外,所有路由都工作正常,没有任何问题。由于我无法在控制器内调用 '$request->user()' 方法。</p> <p>PS:我使用的是 apache 2.4+</p> <p>有人知道为什么会发生这种情况吗?</p>
P粉983021177P粉983021177437 天前407

全部回复(1)我来回复

  • P粉466290133

    P粉4662901332023-09-02 11:47:34

    你能分享一下你的路线文件吗?这是我尝试做的同样有效的事情:

    protected function mapAdminApiRoutes()
    {
        Route::prefix('api/admin')
             ->middleware(['api','jwt.verify','role:admin'])
             ->namespace($this->namespace.'\Admin')
             ->group(base_path('routes/admin-api.php'));
    }

    回复
    0
  • 取消回复