经过一番搜索,我成功安装了Authority-l4包以用于我的 Laravel 项目。文档清晰但很小(信息/示例不多)。这是我的配置文件看起来像 atm:
return array[
'initialize' => function($authority) {
$user = $authority->getCurrentUser();
$authority->addAlias('manage', ['create', 'read', 'update', 'delete']);
if($user->hasRole('admin')) {
//Admin can manage all resources
$authority->allow('manage', 'all');
}
// User can manage his own post
Authority::allow('manage', 'User', function($self, $user){
return $self->getCurrentUser()->id === $user->id;
});
// User can manage his own post
Authority::allow('manage', 'Post', function($self, $post){
return $self->getCurrentUser()->id === $post->id;
});
}
];
我对此有一些疑问:
- 如何为用户添加角色?
hasRole()
存在,为什么不setRole()
呢? - 我注意到没有任何东西保存到数据库中,这不是更好吗?
- 我如何将我的数据库与授权一起使用?谁能给我一个先机,我已经挣扎了四个小时了。
- 在一些文章中,他们说
Role
应该将类更改为拥有许多权限,而不是让用户拥有许多权限,这不是更好吗?
可能我正在考虑这个包的难度,搜索互联网也无济于事。任何帮助表示赞赏!