用户类型的单独登录表单

时间:2016-05-06 10:44:57

标签: php symfony fosuserbundle symfony-2.7

我感觉有点卡在这里,我不知道要采取哪种方式。我正在使用Doctrine ORM,其中有User实体和Group实体。

User实体有一个'属于'字段,用于定义用户是在医疗组,患者组还是公司组。在网站上有两个页面登录:让我们称它们为page1和page2。我希望每个人(患者,医务人员和公司)能够登录第1页,但只有第2页的医生和公司。

要限制pacient从page2表单进行日志记录, 我尝试创建一个新的登录控制器并覆盖其他loginAction()方法和checkAction()方法,但问题似乎是我无法捕获表单元素。我也尝试过在防火墙中创建一个新的条目,但我不知道这有什么帮助,因为我不需要将一组特定的页面限制为一个类,因为这已经在控制器中完成了。

我是否需要编写自定义验证程序才能完成此操作?如果是这样,我该如何检查我拥有哪种类型的用户?

欢迎任何其他想法。

1 个答案:

答案 0 :(得分:0)

检查一下,可能有用:

  1. User 实体
  2. 中定义某个角色
  3. 然后在 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 }
    
  4. 其他依赖于使用的授权系统。

  5. 这是完全控制用户的有用捆绑包:FOSUserBundle