Laravel针对不同角色的不同路线

时间:2016-06-10 20:30:03

标签: laravel

我有一个不同角色的管理员,买家和卖家的Laravel应用程序。在路由文件中,我有前缀为admin和users的路由,当前缀是user时,我也检查角色。买家拥有与卖家不同的权限。

Route::group(['prefix' => 'user'], function () {
    Route::group(['middleware' => ['auth', 'roles', 'user'], 'roles' => ['buyer']], function() {
        //
    });

    Route::group(['middleware' => ['auth', 'roles', 'user', 'owner:bids'], 'roles' => ['seller']], function() {
        //
    });

});

这给了我一些奇怪的副作用。例如,我不能为买方(用户1)和卖方(用户2)提供两条相同的路线。我想要

http://localhost:8000/user/1/dashboard

但我需要做

http://localhost:8000/user/1/dashboard/buyer
http://localhost:8000/user/2/dashboard/seller

所以我开始认为我只需要区分管理员和用户(而不是买家和卖家,因为我正在做上面的事情),并检查控制器文件中的角色,而不是路由。

使用admin和用户可以拥有多个角色的更好方法是什么?

1 个答案:

答案 0 :(得分:0)

买家和卖家如何走同一条路并拥有相同的身份证? http://localhost:8000/user/1/dashboard

只有一个用户可以执行不同的操作。

我只想向用户门添加一个字段,如is_admin,并使用一些门来检查它。您的其他类似问题也是如此

https://laravel.com/docs/5.1/authorization#via-the-gate-facade