Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/symfony/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Security Symfony2-还要求提供帐户的登录表单_Security_Symfony - Fatal编程技术网

Security Symfony2-还要求提供帐户的登录表单

Security Symfony2-还要求提供帐户的登录表单,security,symfony,Security,Symfony,我正在用symfony2.1开发一个网站,它的一个要求是用户名有一个与之关联的帐户,因此在登录表单中,我要求输入三个字段:帐户、用户名和密码 我已经修改了表单,但我需要修改登录检查以考虑新字段(帐户),但我找到的唯一文档假定用户名始终是唯一的,但在我的情况下,我可以有一个重复的用户名: 账户:companya 用户名:admin #security.yml form_login: check_path: /user/login_check login_path: /user/lo

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

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

账户:companya 用户名:admin

#security.yml
form_login:
    check_path: /user/login_check
    login_path: /user/login
账户:B公司 用户名:admin

#security.yml
form_login:
    check_path: /user/login_check
    login_path: /user/login
有什么办法可以实现吗


更新:


我在这里找到了答案,我还需要实现AbstractAuthenticationListener和new token来处理新字段。

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

  • 自己做:跳过内置安全组件,自己实现一些东西。最后,您可以创建一个“普通”表单,自己编写逻辑代码,然后设置会话或cookie
  • 修改安全组件。您需要了解它是如何工作的,然后深入研究and。看一看这张照片

  • 如果你“想把事情做好”,我会选择第二位;如果你只是想把工作做好,我会选择第一位。

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

  • 自己做:跳过内置安全组件,自己实现一些东西。最后,您可以创建一个“普通”表单,自己编写逻辑代码,然后设置会话或cookie
  • 修改安全组件。您需要了解它是如何工作的,然后深入研究and。看一看这张照片

  • 如果你“想把事情做好”,我会选择第二个,如果你只是想把工作做好,我会选择第一个。

    答案是第二个,我必须实现一个用户提供程序和身份验证提供程序,这两个提供程序正确处理登录表单中的额外字段。谢谢。答案是第二个,我必须实现一个用户提供程序和身份验证提供程序来正确处理登录表单中的额外字段。谢谢