2015-04-03 51 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