laravel-rbac icon indicating copy to clipboard operation
laravel-rbac copied to clipboard

问一下前辈

Open An-Artisan opened this issue 7 years ago • 1 comments

这个在控制器中怎么判断权限啊? 是不是根据这个控制器的当然路由来判断是否存在权限. 比如我有一个更新按钮,我点击这个更新按钮,我怎么知道是不是有这个权限呢? 是根据点击 更新按钮的路由来判断吗?那是不是 product.create 应该改成具体的路由名称

An-Artisan avatar Oct 18 '17 04:10 An-Artisan

路由和权限并没有直接关系。

只是说,在业务上,如果这个路由需要做权限控制,那么你可以为这个路由配置一个或多个权限点。 至于权限点与路由的命名,可以自己规范。

权限的判断十分灵活,这也是根据的业务逻辑而定的。

如果只需要在路由上做权限控制,可以使用路由中间件:

Route::post('/posts', [
    'uses' => 'Posts@create',
    'middleware' => 'rbac:posts.create',
]);

如果需要在其他地方(比如控制器里)做权限判断,可以这样:

// User这个Model必须 use HuangYi\Rbac\RbacTrait
$user = \App\User::find($id);

$user->hasPermission('posts.create');

huang-yi avatar Oct 18 '17 06:10 huang-yi