首页 > 解决方案 > 在 Laravel 控制器中获取中间件名称

问题描述

我的应用程序遇到问题。让有两个中间件 1) 用户 2) 管理员 是否可以获得我在控制器中认证的中间件?我正在使用 Laravel 5.4。这是我的路线声明

Route::group(['prefix' => 'user'], function () {
    Route::group(['middleware' => ['auth:api']], function () {
        Route::post('shop/store', 'ApiShopController@shopStore');
        Route::post('shop/update', 'ApiShopController@shopUpdate');
    });
});
Route::group(['prefix' => 'admin'], function () {
    Route::group(['middleware' => ['auth:admin-api']], function () {
        Route::post('shop/store', 'ApiShopController@shopStore');
        Route::post('shop/update', 'ApiShopController@shopUpdate');
    });
});

这是我的中间件声明

'web' => [
            'driver' => 'session',
            'provider' => 'users',
        ],
        'api' => [
            'driver' => 'token',
            'provider' => 'users',
        ],
        'admin' => [
            'driver' => 'session',
            'provider' => 'admins',
        ],
        'admin-api' => [
            'driver' => 'token',
            'provider' => 'admins',
        ],
]

标签: phplaravelmiddleware

解决方案


你应该使用 Auth::guard('role')


推荐阅读