这是我在Laravel 5.1上user
和auth
角色的路线实施:
Route::group(['prefix' => 'admin', 'middleware' => 'auth:administrator'], function()
{
$a = 'admin.';
Route::get('/', ['as' => $a . 'home', 'uses' => 'AdminController@getHome']);
});
Route::group(['prefix' => 'user', 'middleware' => 'auth:user'], function()
{
$a = 'user.';
Route::get('/', ['as' => $a . 'home', 'uses' => 'UserController@getHome']);
});
我有user
可以注册为merchant
的另一个角色,但问题是,如何在不复制代码的情况下实现merchant
路由,因为user
和merchant
使用merchant
具有额外功能的类似仪表板。
目前有效的实施是:
Route::group(['prefix' => 'user', 'middleware' => 'auth:merchant'], function()
{
$a = 'user.';
Route::get('/', ['as' => $a . 'home', 'uses' => 'UserController@getHome']);
});
谢谢!
答案 0 :(得分:0)
您应该能够使用数组将中间件列表传递到您的路由。
Route::group(['prefix' => 'user', 'middleware' => ['auth:user', 'auth:merchant']], function()
{
$a = 'user.';
Route::get('/', ['as' => $a . 'home', 'uses' => 'UserController@getHome']);
});
但是,我不确定这是否会产生一个你希望实现的结果。也许所有这一切只允许路由到属于“用户”和“商家”角色的用户,这可能不是你打算做的。