Symfony 2,对于不良角色返回true

时间:2015-04-03 05:36:54

标签: php symfony fosuserbundle roles

role_hierarchy:
        ROLE_USER: [ROLE_CLIENT, ROLE_CHAT]
        ROLE_ADMIN:       ROLE_USER
        ROLE_SUPER_ADMIN: ROLE_ADMIN

我的观点返回:

array:2 [▼
  0 => Role {#333 ▼
    -role: "ROLE_CHAT"
  }
  1 => Role {#334 ▼
    -role: "ROLE_USER"
  }
]
You  cant't see this.

我的观点:

{% block content %}
    <h1>Client panel</h1>
    {{ dump(app.security.token.roles) }}


{% if is_granted('ROLE_CLIENT') %} You can't see this. {% endif %}


{% endblock %}

如果用户没有此角色,我不知道为什么授予ROLE_CLIENT返回true。他只有ROLE_USER和ROLE_CHAT。

感谢您的帮助。

1 个答案:

答案 0 :(得分:2)

在你的角色&#39;您可以看到ROLE_USER已经拥有角色ROLE_CLIENTROLE_CHAT的层次结构。这是预期的行为。

如果您希望它返回false,只需更改role_hierarchy中的security.yml块。