【发布时间】:2016-10-11 22:09:01
【问题描述】:
我有一个 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
所以我开始认为我只需要区分管理员和用户(而不是像我上面所做的那样区分买卖双方),并检查控制器文件中的角色,而不是路径中的角色。
在用户可以拥有多个角色的情况下,与管理员和用户一起工作的更好方法是什么?
【问题讨论】:
标签: laravel