1

我正在用 symfony2.1 开发一个网站,它的要求之一是用户名有一个与之关联的帐户,所以在登录表单中我要求三个字段:帐户、用户名和密码。

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

帐户:companya 用户名:admin

帐户:companyb 用户名:admin

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

有什么想法可以实现吗?


更新:

我在这个论坛帖子中找到了答案,我还需要实现 AbstractAuthenticationListener 和新令牌来处理新字段。

4

1 回答 1

1

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

  1. 自己做:跳过内置的安全组件并自己实现一些东西。最后,您始终可以创建一个“普通”表单,自己编写逻辑代码,然后设置会话或 cookie。
  2. 修改安全组件。您需要了解它是如何工作的,然后深入研究User ProvidersAuthentication Providers。查看文档安全部分中的说明书

如果你“想做正确的事”,我会选择第二名,如果你只想完成工作,我会选择第一名。

于 2013-02-05T08:39:35.777 回答