【问题标题】:Symfony2, forms, username_parameter and firewall parametersSymfony2、表单、username_parameter 和防火墙参数
【发布时间】:2014-01-24 04:17:27
【问题描述】:

我正在使用实现SimpleFormAuthenticationInterface 的自定义身份验证器。

但是,由于表单输入name="form[username]" 的方式,我无法将其传递给username_parametercreateToken。有没有办法做到这一点,还是我必须自己写Authentication Listener

这是我的配置:

firewalls:
  secured_area:
        provider: UserRepository
        pattern: ^/user
          simple_form:
             username_parameter:
             password_parameter:
             authenticator: UserAuthenticator
             login_path:  /login
             check_path:  /user/auth

【问题讨论】:

    标签: forms symfony


    【解决方案1】:

    显然RequestSymfony\Component\HttpFoundation\ParameterBag解析了security.yml配置中的html数组形式的参数

    在: https://github.com/symfony/symfony/blob/2.4/src/Symfony/Component/HttpFoundation/ParameterBag.php#L103-L150

    因此您可以使用并执行以下操作:

    firewalls:
      secured_area:
            provider: UserRepository
            pattern: ^/user
              simple_form:
                 username_parameter: MyForm[username]
                 password_parameter: MyForm[password]
                 authenticator: UserAuthenticator
                 login_path:  /login
                 check_path:  /user/auth
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-07-08
      • 1970-01-01
      • 2012-03-26
      • 2016-01-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多