Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/270.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Larvel在同一路线上扮演多个角色_Php_Laravel 5_Laravel Routing_Laravel 5.1 - Fatal编程技术网

Php Larvel在同一路线上扮演多个角色

Php Larvel在同一路线上扮演多个角色,php,laravel-5,laravel-routing,laravel-5.1,Php,Laravel 5,Laravel Routing,Laravel 5.1,这是我目前为Laravel 5.1上的user和auth角色执行的路线: Route::group(['prefix' => 'admin', 'middleware' => 'auth:administrator'], function() { $a = 'admin.'; Route::get('/', ['as' => $a . 'home', 'uses' => 'AdminController@getHome']); }); Route::gr

这是我目前为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']);
});
我还有另一个角色,
用户
可以注册为
商户
,但问题是,我如何在不复制代码的情况下实施
商户
路由,因为
用户
商户
都使用类似的仪表板,其中
商户
具有额外的功能

目前有效的实施是:

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

谢谢

您应该能够使用数组将中间件列表传递到路由

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

然而,我不确定这是否会产生一个你希望达到的结果。也许所有这些只允许路由到属于角色“用户”和“商家”的用户,这可能不是您想要做的。

您应该能够使用数组将中间件列表传递到路由

Route::group(['prefix' => 'user', 'middleware' => ['auth:user', 'auth:merchant']], function()
{
    $a = 'user.';
    Route::get('/', ['as' => $a . 'home', 'uses' => 'UserController@getHome']);
});
然而,我不确定这是否会产生一个你希望达到的结果。也许所有这些只允许路由到属于角色“用户”和“商家”的用户,这可能不是您想要做的