【发布时间】:2016-10-11 08:29:01
【问题描述】:
我的网站包含 3 种类型的用户,它们可能具有不同的角色。
ROLE_TRAINEE
ROLE_COMPANY_SUPER_ADMIN, ROLE_COMPANY_ADMIN, ROLE_COMPANY_TUTOR, ROLE_COMPANY_GUEST
ROLE_UNIVERSITY_SUPER_ADMIN, ROLE_UNIVERSITY_ADMIN, ROLE_UNIVERSITY_COORDINATOR, ROLE_UNIVERSITY_GUEST
根据角色,我知道他们可以进入哪些页面,哪些页面不能使用security.yml access_control 块。
access_control:
- { path: ^/$, roles: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/login, roles: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/trainee, roles: ROLE_TRAINEE }
- { path: ^/company, roles: ROLE_COMPANY_GUEST }
- { path: ^/university, roles: ROLE_UNIVERSITY_GUEST }
现在我要区分每个用户可以执行的操作:EDIT、DELETE 等等。
我检查了 ACL 文档,我完全搞砸了。我看到我可以通过调用isGranted() 来使用 ROLES 完成所有操作。无论如何,我想听听你们对 ACL 的看法?在我的情况下有必要吗?使用 ACL 的主要优势是什么?
【问题讨论】:
标签: php symfony authorization acl roles