2014-01-24 105 views
0

我正在使用自定義身份驗證器來執行SimpleFormAuthenticationInterfaceSymfony2,表單,username_parameter和防火牆參數

但是,由於表格的輸入方式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 

回答

0

顯然RequestSymfony\Component\HttpFoundation\ParameterBag可解析HTML陣列形式在security.yml配置

下參數: 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