Symfony access_control规则

时间:2018-09-17 14:02:23

标签: symfony access-control

我有3个用户角色

  
      
  1. ROLE_STAFF
  2.   
  3. ROLE_ADMIN
  4.   
  5. ROLE_CUSTOMER
  6.   

我想为我的管理仪表板实施以下规则。

  1. 允许具有角色ROLE_ADMIN的用户所有访问权限
  2. 不允许以角色ROLE_CUSTOMER的用户访问以/admin开头的任何URL
  3. 不允许未登录的用户访问以/account开头的网址
  4. 允许角色为ROLE_STAFF的用户访问以/admin/business/*开头的url

对于上述规则,我已经在access_control中实现了以下规则

access_control:
    - { path: ^/account, role: IS_AUTHENTICATED_ANONYMOUSLY }
    - { path: ^/admin/business, role: ROLE_STAFF }
    - { path: ^/admin/dashboard, role: ROLE_STAFF }
    - { path: ^/admin, role: ROLE_ADMIN }

这不能按预期方式工作,问题是,当我使用ROLE_STAFF登录时,它可以工作,但是当我使用ROLE_ADMIN登录时,它会引发拒绝访问错误。

这里可能有什么问题?

谢谢。

0 个答案:

没有答案