Symfony Sonata Admin-为什么要使用Admin checkAccess()而不是ISGRADED()呢

Symfony Sonata Admin-为什么要使用Admin checkAccess()而不是ISGRADED()呢,symfony,acl,sonata-admin,Symfony,Acl,Sonata Admin,我有一个简单的项目,不需要复杂的ACL。在我的自定义控制器中创建了一个自定义操作,该操作扩展了CRUDController,在那里我检查访问权限,如下所示: $this->admin->checkAccess('verify', $object); 在模板中,我检查访问权限,如: {% if admin.isGranted('VERIFY', object) %} 我的管理员用户可以有以下角色:Admin或SUPER\u Admin 只检查角色不是更好吗: $authorizat

我有一个简单的项目,不需要复杂的ACL。在我的自定义控制器中创建了一个自定义操作,该操作扩展了
CRUDController
,在那里我检查访问权限,如下所示:

$this->admin->checkAccess('verify', $object);
在模板中,我检查访问权限,如:

{% if admin.isGranted('VERIFY', object) %}
我的管理员用户可以有以下角色:
Admin
SUPER\u Admin

只检查角色不是更好吗:

$authorizationChecker->isGranted('SUPER_ADMIN');

{% is_granted('SUPER_ADMIN') %}

使用admin进行访问控制有什么大不了的?对我来说,只需检查用户是
管理员
还是
超级管理员
似乎容易得多。

您希望它通过“管理员”而不是直接进入授权检查器的原因如下:

Sonata将考虑其设置,因为您可以更改Sonata使用的安全策略(noop、vs角色、vs acl、vs自定义),而无需更改“检查”访问的位置

这个解释有意义吗