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.
Спасибо за помощь.
В иерархии ваших ролей вы можете видеть, что ROLE_USER
уже есть роли ROLE_CLIENT
а также ROLE_CHAT
, Это ожидаемое поведение.
Если вы хотите вернуть false, просто измените role_hierarchy
блокировать в security.yml
,
Других решений пока нет …