2015-04-03 52 views
0
role_hierarchy: 
     ROLE_USER: [ROLE_CLIENT, ROLE_CHAT] 
     ROLE_ADMIN:  ROLE_USER 
     ROLE_SUPER_ADMIN: ROLE_ADMIN 

我的看法回报:的Symfony 2,返回真坏角色

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。

感谢您的帮助。

回答

2

在您的角色层次结构中,您可以看到ROLE_USER已具有角色ROLE_CLIENTROLE_CHAT。这是预期的行为。

如果你希望它返回false只是改变你的role_hierarchysecurity.yml

+0

我同意@迈克尔Sivolobov – 2015-04-03 11:14:57