8

在我的模板中,我需要知道用户是否具有特定的角色来根据它显示内容。到目前为止,我已经在我的用户类中实现了一个小功能:

  public function hasRole($role) {
    $roles = array();
    foreach ($this->getRoles() as $rol) {
      $roles[] = $rol->getRole();
    }
    return in_array($role, $roles);
  }

它告诉我这个用户是否具有作为参数传递的字符串指定的角色。这项工作可以从树枝模板中调用,但不允许我了解有关角色层次结构的任何信息。有没有办法从控制器访问角色层次结构?并直接来自树枝模板?我浏览了官方文档并没有找到任何相关信息。

4

1 回答 1

21

您可以使用以下代码检查树枝模板中的角色,它说明如果当前用户具有以下角色,则显示一些内容

{% if is_granted('ROLE_ADMIN') %}

  //show things related to admin role

{%else if is_granted('ROLE_USER')%}
//show things related to user role
{% endif %}

希望这对您有所帮助。编码快乐!!

于 2012-04-21T14:33:19.910 回答