Symfony2 - 同时要求提供帐户的登录表单

时间:2013-02-05 01:40:35

标签: security symfony

我正在使用symfony2.1开发一个网站,其中一个要求是用户名与其关联,因此在登录表单中我要求三个字段,即帐户,用户名和密码。< / p>

我已经修改了表单,但我需要修改login_check以考虑新字段(帐户),但我找到的唯一文档假定用户名始终是唯一的,但在我的情况下我可以重复用户名:

帐号:companya 用户名:admin

帐号:companyb 用户名:admin

#security.yml
form_login:
    check_path: /user/login_check
    login_path: /user/login

我是如何实现这一点的?


更新

我在这个forum post中找到了答案,我还需要实现AbstractAuthenticationListener和新标记来处理新字段。

1 个答案:

答案 0 :(得分:1)

如果您有框架提供的“标准方式”未涵盖的要求,您有两种方法:

  1. 自己动手:跳过构建安全组件并自行实现。最后,您始终可以创建“普通”表单,自己编写逻辑代码,然后设置会话或cookie。
  2. 修改安全组件。您需要了解其工作原理,然后深入了解User ProvidersAuthentication Providers。看看cookbooks in the Security section of the docs
  3. 如果你“想要做得对”,我会选择第二名,如果你只想完成工作,我会选择第一名。