假设我有三个角色:
1) ADMIN_ROLE
2) USER_ROLE
3) COMPANY_ROLE
现在我有每个角色的捆绑包。
1) AdminBundle
2) UserBundle
3) CompanyBundle
我有三个路线
1) /admin
2) /user
3) /company
我不想在每个捆绑包的每个控制器中检查 ho 用户(他的角色是什么)。symfony 安全性的这一部分是否会为我做到这一点:
-{ path: ^/admin, roles: ROLE_ADMIN } #only ROLE_ADMIN will be able to see this
-{ path: ^/user, roles: ROLE_USER } #only ROLE_USER will be able to see this
-{ path: ^/company, roles: ROLE_COMPANY } #only ROLE_COMPANY will be able to see this
我的问题是:
1)是否有可能拥有 ROLE_COMPANY (或该仪表的任何其他自定义角色)?
2) access_control 是否会检查登录的用户角色,如果我是 ROLE_ADMIN 并试图访问一些为 ROLE_USER 提供的页面,symfony 会处理它并说“这不是给管理员的,这是给用户的”?
3)如果 symfony 不能为我处理这个问题,是否可以在每个打开/刷新页面上都有一些事件侦听器来为我检查这个?
我不想检查每个登录用户的控制器。这有点愚蠢。