中间件的多次使用可以 laravel

Multiple uses of middleware can of laravel

我对 laravel can 中间件有疑问。我不能在两个不同的角色上使用它。

这是我的代码的一小部分:

Route::group(['prefix' => '','middleware' => 'can:super_admin'], function () {

     Route::group(['prefix' => 'dashboard'], function () {
        Route::get('dashboard', 'SuperAdminController@getDashboardData');
    });
     ....

 });

Route::group(['prefix' => '','middleware' => 'can:admin'], function () {

     Route::group(['prefix' => 'dashboard'], function () {
        Route::get('dashboard1', 'AdminController@getDashboardData');
    });
     ...

});

任何人都可以帮助我使用 laravel 中间件 API 的两条路由吗?

API(路由)自动禁用会话以保证无会话体验。任何使用会话的中间件,例如验证用户是否是管理员,将自动不起作用,因为没有会话来检查用户。

这里有两个解决方案。您可以为 api 路由启用会话中间件,也可以在不使用会话的情况下授权您的用户。