我有一个简单的项目,不需要复杂的ACL。在我的自定义控制器中创建了一个自定义操作,扩展了CRUDController
,在那里我检查了这样的访问:
$this->admin->checkAccess('verify', $object);
在模板中,我检查访问权限:
{% if admin.isGranted('VERIFY', object) %}
我的管理员用户可以拥有角色:ADMIN
或SUPER_ADMIN
。
最好只检查一下这个角色:
$authorizationChecker->isGranted('SUPER_ADMIN');
{% is_granted('SUPER_ADMIN') %}
使用admin进行访问控制有什么大不了的?对我来说,只是检查用户是ADMIN
还是SUPER_ADMIN
似乎更容易。
答案 0 :(得分:0)
您希望它通过' admin'并且不直接访问AuthorizationChecker如下:
Sonata将考虑其设置,因为您可以更改奏鸣曲(noop,vs role,vs acl,vs custom)使用的安全策略,而无需更改您检查的位置。访问。
这种解释有意义吗?