我感觉有点卡在这里,我不知道要采取哪种方式。我正在使用Doctrine ORM,其中有User
实体和Group
实体。
User
实体有一个'属于'字段,用于定义用户是在医疗组,患者组还是公司组。在网站上有两个页面登录:让我们称它们为page1和page2。我希望每个人(患者,医务人员和公司)能够登录第1页,但只有第2页的医生和公司。
要限制pacient从page2表单进行日志记录,
我尝试创建一个新的登录控制器并覆盖其他loginAction()
方法和checkAction()
方法,但问题似乎是我无法捕获表单元素。我也尝试过在防火墙中创建一个新的条目,但我不知道这有什么帮助,因为我不需要将一组特定的页面限制为一个类,因为这已经在控制器中完成了。
我是否需要编写自定义验证程序才能完成此操作?如果是这样,我该如何检查我拥有哪种类型的用户?
欢迎任何其他想法。
答案 0 :(得分:0)
检查一下,可能有用:
User
实体 然后在 app/config/security.yml
:
security:
role_hierarchy:
ROLE_ADMIN: [ROLE_FIRMS,ROLE_MEDICS] //define in User Entity
access_control:
- { path: ^/someRoute/page$, roles: ROLE_ADMIN }
其他依赖于使用的授权系统。
这是完全控制用户的有用捆绑包:FOSUserBundle