【问题标题】:Symfony2 and security roles configurationSymfony2 和安全角色配置
【发布时间】:2012-09-02 13:23:12
【问题描述】:

我正在尝试配置 Symfony ACL:

access_control:
    - { path: ^/, role: ROLE_A }

role_hierarchy:
    ROLE_A:           ROLE_USER
    ROLE_B:           ROLE_A
    ROLE_ADMIN:       ROLE_B
    ROLE_SUPER_ADMIN: ROLE_ADMIN

所以:A 扩展自 USERB 扩展自 A 等。

问题是当我以ADMINSUPER_ADMIN 登录时,我得到403 未授权。它仅在我被授权为A 时才有效。为什么?我在角色扩展方面做错了什么?

【问题讨论】:

  • 你能发布你的整个安全配置吗
  • Pastebin。谢谢!
  • 我的配置与您的配置非常相似,我也使用 FOSUserBundle(我不额外使用 JMSSecurity,但我认为这并不重要)并且我尝试了您的角色层次结构,对我来说它有效.

标签: security symfony acl fosuserbundle


【解决方案1】:

据我所知,角色层次结构应该自上而下定义。所以在上面的例子中你应该有:

role_hierarchy:
        ROLE_SUPER_ADMIN: ROLE_ADMIN
        ROLE_ADMIN:       ROLE_B
        ROLE_B:           ROLE_A
        ROLE_A:           ROLE_USER

【讨论】:

【解决方案2】:

应该是这样的

role_hierarchy:
    ROLE_SUPER_ADMIN: [ROLE_ADMIN, ROLE_B, ROLE_A, ROLE_USER]
    ROLE_ADMIN:       [ROLE_B, ROLE_A, ROLE_USER]
    ROLE_B:           [ROLE_A, ROLE_USER]
    ROLE_A:           ROLE_USER

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-06-21
  • 2018-01-04
  • 2020-12-05
  • 1970-01-01
  • 1970-01-01
  • 2016-10-11
相关资源
最近更新 更多