【问题标题】:Laravel multiple roles on same routeLaravel在同一条路线上的多个角色
【发布时间】:2015-12-10 11:14:16
【问题描述】:

这是我目前在 Laravel 5.1 上为 userauth 角色实现的路由:

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 路由,因为usermerchant 都使用类似的仪表板,其中@ 987654329@ 有额外的功能。

当前工作的实现是:

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

谢谢!!

【问题讨论】:

    标签: php laravel-5 laravel-routing laravel-5.1


    【解决方案1】:

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

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

    但是,我不确定这是否会产生您希望达到的结果。也许这一切只允许路由到属于角色“用户”和“商家”的用户,这可能不是您打算做的。

    【讨论】:

      猜你喜欢
      • 2016-10-01
      • 2019-07-02
      • 2016-10-11
      • 2015-02-23
      • 1970-01-01
      • 2018-11-23
      • 2013-08-14
      • 2021-09-14
      • 2017-07-07
      相关资源
      最近更新 更多