假设在我的系统中有四个用户角色 -
1. ROLE_SUPER_ADMIN
2. ROLE_ADMIN
3. ROLE_EDITOR
4. ROLE_AUTHOR
现在想一想,用户有角色ROLE_AUTHOR。他可以访问特定文档,但没有其他用户可以访问它。所以我只希望拥有ROLE_AUTHOR
的用户。我在搜索时得到了一些解决方案
is_granted('ROLE_AUTHOR')
但这会返回分层结果。因为在我的配置文件中我设置了层次结构
那么我该如何仅授予ROLE_AUTHOR
用户权限。
答案 0 :(得分:3)
您可以检查用户是否具有该角色。
在树枝上:
{% if 'ROLE_AUTHOR' in app.user.roles %}
...
{% endif %}
在控制器中:
if (in_array('ROLE_AUTHOR', $this->getUser()->getRoles(), true)) {
//...
}
答案 1 :(得分:0)
您可能正在将用户角色存储在您的用户实体中,因此您只需要为您的角色字段调用getter(即:getRoles())并检查它。