Symfony 2, верните истину за плохие роли

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 %}

Я не знаю, почему предоставляется возврат true для ROLE_CLIENT, если у пользователя нет этой роли. У него есть только ROLE_USER и ROLE_CHAT.

Спасибо за помощь.

0

Решение

В иерархии ваших ролей вы можете видеть, что ROLE_USER уже есть роли ROLE_CLIENT а также ROLE_CHAT, Это ожидаемое поведение.

Если вы хотите вернуть false, просто измените role_hierarchy блокировать в security.yml,

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]