Как добавить дополнительное промежуточное ПО в grup route? - PullRequest
0 голосов
/ 26 января 2019

Я создаю админ-панель и хочу дать доступ к какой-то роли, такой как admin, мод, поддержка, бог и т. Д. Но в той же группе один из маршрутов, я хотел бы дать доступ только для Бога и Админа. Могу ли я сделать это в одной группе или я должен создать отдельную группу для этого маршрута (отдельную группу или добавить промежуточное ПО только для одного маршрута), но я предпочитаю отдельную группу.

Route::group(['prefix' => 'admin', 'middleware' => ['roles'], 'roles' => ['administrator', 'moderator', 'support']], function () {
        Route::get('/', 'AdminController@index')->name('admin.index');
        Route::get('users', 'AdminController@users')->name('admin.users');
        Route::get('messages', 'AdminController@messages')->name('admin.messages');    
    });

И отдельная группа

Route::group(['prefix' => 'admin', 'middleware' => ['roles'], 'roles' => ['administrator']], function () {
        Route::get('finance', 'AdminController@finance')->name('admin.finance');
    });

Как я могу сделать в одной группе. Я пытался, но у меня есть доступ ко всем методам финансирования, даже если я только поддержка.

1 Ответ

0 голосов
/ 26 января 2019

Это будет работать только как отдельные группы, поскольку Laravel будет применять все требования к промежуточному программному обеспечению для маршрутов в группе за один раз.

Другой вариант - использовать вложенные группы (при необходимости), но это будетпо сути быть такими же, как отдельные группы:

Route::group(['prefix' => 'admin', 'middleware' => ['roles'], 'roles' => ['administrator', 'moderator', 'support']], function () {
    Route::get('/', 'AdminController@index')->name('admin.index');
    Route::get('users', 'AdminController@users')->name('admin.users');
    Route::get('messages', 'AdminController@messages')->name('admin.messages');

    Route::group(['prefix' => 'admin', 'middleware' => ['roles'], 'roles' => ['administrator']], function () {
        Route::get('finance', 'AdminController@finance')->name('admin.finance');
    });
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...