2015-09-14 3 views
1

Это в настоящее время моя реализация маршрут user и auth ролей на Laravel 5.1:Laravel несколько ролей на одном маршруте

Route::group(['prefix' => 'admin', 'middleware' => 'auth:administrator'], function() 
{ 
    $a = 'admin.'; 
    Route::get('/', ['as' => $a . 'home', 'uses' => '[email protected]']); 
}); 

Route::group(['prefix' => 'user', 'middleware' => 'auth:user'], function() 
{ 
    $a = 'user.'; 
    Route::get('/', ['as' => $a . 'home', 'uses' => '[email protected]']); 
}); 

У меня есть другая роль, где user может зарегистрироваться в качестве merchant, но вопрос, как я могу реализовать merchant маршрут без дублирования кода, так как оба user и merchant с использованием аналогичной приборной панели, где merchant имеют дополнительные функции.

Реализация, которая в настоящее время работает в:

Route::group(['prefix' => 'user', 'middleware' => 'auth:merchant'], function() 
    { 
     $a = 'user.'; 
     Route::get('/', ['as' => $a . 'home', 'uses' => '[email protected]']); 
    }); 

Спасибо !!

ответ

0

Вы должны иметь возможность передать список посредников на ваш маршрут, используя массив.

Route::group(['prefix' => 'user', 'middleware' => ['auth:user', 'auth:merchant']], function() 
{ 
    $a = 'user.'; 
    Route::get('/', ['as' => $a . 'home', 'uses' => '[email protected]']); 
}); 

Однако я не уверен, что это дает результат, который делает то, что вы надеетесь достичь. Возможно, все это только разрешает маршрут пользователям, которые принадлежат к ролям «пользователь» и «купец», что, вероятно, не то, что вы намереваетесь делать.

Смежные вопросы