簡體   English   中英

拒絕訪問 ROLE_ADMIN symfony

[英]Deny access to ROLE_ADMIN symfony

我使用 Symfony 2.7 和 FOSUserBundle 2.0

我想要的是允許ROLE_ADMIN用戶訪問 /admin 但拒絕他其他路徑。

# app/security.yml

access_control:
    - { path: ^/$, roles: IS_AUTHENTICATED_ANONYMOUSLY }
    - { path: ^/login, roles: IS_AUTHENTICATED_ANONYMOUSLY }
    - { path: ^/register, roles: IS_AUTHENTICATED_ANONYMOUSLY }
    - { path: ^/resetting, roles: IS_AUTHENTICATED_ANONYMOUSLY }
    - { path: ^/, roles: ROLE_USER }
    - { path: ^/admin, roles: ROLE_SUPER_ADMIN }

role_hierarchy:
    ROLE_USER:       ROLE_USER
    ROLE_ADMIN:      ROLE_ADMIN

我想到了php app/console fos:user:demote admin ROLE_USERROLE_USERROLE_USER的默認角色,所以每次管理員連接時, ROLE_USER除了ROLE_ADMIN之外ROLE_ADMIN

怎么能這樣呢?

在這種情況下, ROLE_ADMIN無法訪問ROLE_MANAGER

access_control:
    - { path: ^/$, roles: IS_AUTHENTICATED_ANONYMOUSLY }
    - { path: ^/login, roles: IS_AUTHENTICATED_ANONYMOUSLY }
    - { path: ^/register, roles: IS_AUTHENTICATED_ANONYMOUSLY }
    - { path: ^/resetting, roles: IS_AUTHENTICATED_ANONYMOUSLY }
    - { path: ^/roles: ROLE_MANAGER }
    - { path: ^/admin, roles: ROLE_ADMIN }

role_hierarchy:
    ROLE_USER:       
        - ROLE_USER
    ROLE_MANAGER:    
        - ROLE_USER
    ROLE_ADMIN:     
        - ROLE_ADMIN

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM