2012-06-06 132 views
1

我試圖爭取一些管理在SonataAdminBundleSonataAdminBundle安全角色

我添加SonataUserBundle與fosUserBundle登錄。 所以我可以添加用戶,組和角色

在security.yml

role_hierarchy: 
    ROLE_ADMIN: ROLE_ADMIN 
    ROLE_IT: ROLE_IT 
    ROLE_SUPER_ADMIN: [ROLE_ADMIN, ROLE_IT] 


access_control: 
    - { path: ^/sonata/login$, role: IS_AUTHENTICATED_ANONYMOUSLY } 
    - { path: ^/sonata/logout$, role: IS_AUTHENTICATED_ANONYMOUSLY } 
    - { path: ^/sonata/login-check$, role: IS_AUTHENTICATED_ANONYMOUSLY } 
    - { path: ^/sonata, role: [ROLE_ADMIN] } 
    - { path: ^/sonata/api/monolog, role: [ROLE_IT] } 

我必須連接到接入索納塔

但每個用戶都可以訪問路線/索納塔/ API /獨白即使他們沒有ROLE_IT

我怎樣才能securize的聯繫 我怎麼只能顯示鏈接,如果用戶可以查看在其

回答

4

Admin用戶必須具有活動安全令牌中的所有角色。

如果您沒有處於當前狀態的所有角色,那麼您應該激活內存安全提供程序並指定包含所有角色和reauth的帳戶。

+2

我做這種安全控制的,這個答案似乎是正確的,並有更多upvotes,但我不明白的答案。我正在使用Symfony 2.7.1 – Sithu