我有一个不同角色的管理员,买家和卖家的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和用户可以拥有多个角色的更好方法是什么?
答案 0 :(得分:0)
买家和卖家如何走同一条路并拥有相同的身份证? http://localhost:8000/user/1/dashboard
只有一个用户可以执行不同的操作。
我只想向用户门添加一个字段,如is_admin,并使用一些门来检查它。您的其他类似问题也是如此
https://laravel.com/docs/5.1/authorization#via-the-gate-facade