【问题标题】:FosUserBundle : access control with 2 or more roles?FosUserBundle:具有 2 个或更多角色的访问控制?
【发布时间】:2013-12-03 22:15:00
【问题描述】:

我在 Symfony2 项目中使用 FosUserBundle。我为自定义ROLE_VALIDE 添加了一条规则,以限制/user 之类的路径。它适用于具有此角色的用户。

问题是我还希望管理员能够访问此路径。 我已经测试了ROLE_ADMINROLE_ADMIN + ROLE_VALIDE 这两个角色,但我有 403 错误页面。

有没有办法在access_control 中添加多个角色?

access_control:
    - { path: ^/admin, role: ROLE_ADMIN }
    - { path: ^/user, role: ROLE_VALIDE }

【问题讨论】:

    标签: symfony fosuserbundle access-control


    【解决方案1】:

    security.yml 中的角色层次结构如何?

    文档: http://symfony.com/doc/current/book/security.html#hierarchical-roles

    role_hierarchy:
        ROLE_USER:        [ROLE_USER]
        ROLE_VALIDE:      [ROLE_USER, ROLE_VALIDE]
        ROLE_ADMIN:       [ROLE_USER, ROLE_VALIDE, ROLE_ADMIN]
    

    有了这个,如果路由正在等待ROLE_VALIDEROLE_ADMIN 就可以了,因为它里面有ROLE_VALIDE

    【讨论】:

    • 哦,是的,就是这样!我完全忘记了!
    • 是的,当然,我只是在等计时器走!谢谢。
    猜你喜欢
    • 2015-12-30
    • 2014-09-02
    • 1970-01-01
    • 2014-07-23
    • 1970-01-01
    • 2010-10-16
    • 2018-02-05
    • 1970-01-01
    • 2014-01-25
    相关资源
    最近更新 更多