在我的模板中,我需要知道用户是否具有根据它显示事物的某些角色。到目前为止,我已经在我的用户类中实现了一个小函数:
public function hasRole($role) {
$roles = array();
foreach ($this->getRoles() as $rol) {
$roles[] = $rol->getRole();
}
return in_array($role, $roles);
}
告诉我此用户是否具有作为参数传递的字符串指定的角色。这项工作可以从twig模板调用,但不允许我了解角色层次结构。有没有办法从控制器访问角色层次结构?并直接从树枝模板?我查看过官方文档并没有找到任何相关内容。
答案 0 :(得分:19)
您可以使用下面的代码检查twig模板中的角色,它解释了如果当前用户具有以下角色,那么显示某些内容
{% if is_granted('ROLE_ADMIN') %}
//show things related to admin role
{%else if is_granted('ROLE_USER')%}
//show things related to user role
{% endif %}
希望这会对你有所帮助。 快乐编码!!