【问题标题】:Use multiple guard on one route in laravel在 laravel 的一条路线上使用多个警卫
【发布时间】:2019-07-02 19:55:22
【问题描述】:

如何在 laravel 的一条路线上使用多个守卫? 我有两个守卫:admin-api,user-api,我想检查用户的令牌是否可以访问,如果用户表中的令牌无效,请检查管理员表中的令牌。

我使用以下代码,但只应用了第二个中间件。

Route::middleware('auth:api')
        ->middleware('auth:api-admin')
        ->post('/user' , 'UserController@user');

【问题讨论】:

    标签: laravel


    【解决方案1】:

    您可以将一组中间件添加到您的路由中

    Route::middleware(['auth:api', 'auth:api-admin'])->post('/user', 'UserController@user');
    

    【讨论】:

    • 那么我想其中一项检查是停止请求。
    • 在这种情况下,我认为您最好编写第三个中间件来检查两者并在一个通过时继续。
    【解决方案2】:

    这个问题已经问了一段时间了,但是在不添加自定义中间件的情况下检查一条路由中的多个守卫的另一种方法是将多个守卫传递给 auth 中间件:

    Route::middleware(['auth:api,api-admin'])->post('/user', 'UserController@user');
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-02-18
      • 2015-12-10
      • 1970-01-01
      • 1970-01-01
      • 2015-02-23
      • 2013-08-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多