2016-10-13 11 views
0

ログインフォーム用のファイアウォールエリアを作成すると、そのページで他のフォームを突然送信できません。私の場合はSymfony2 - ログインフォームのページで他のフォームを送信できません

、連絡先のページでは、私たちが形成する連絡しているとそれだけで正常に動作しているが、私が追加したときに、これはsecurity.ymlファイルする:

firewalls: 
    contacts: 
     pattern: ^/contacts 
     anonymous: ~ 
     provider: main 
     context: primary_auth 
     form_login: 
      login_path:    /contacts 
      check_path:    /contacts 
      default_target_path: /authorization 
     remember_me: 
      secret: '%secret%' 
      lifetime: 31536000 

私のコンタクトフォームだけを停止する作業(提出することはできません) 。送信ボタン$contactForm->isSubmitted()$contactForm->isValid()を押しても、両方ともfalseが返されます。

同じ問題がホームページに表示されます。ファイアウォールにホームページのログインフォーム設定を追加すると、サインアップフォームが機能しなくなります。

誰もが同じ問題を抱えていて、解決策を知っているのでしょうか?すでにログインする必要がありますログインチェックのユーザーを行うためになるよう

+0

名前付きフォームを 'form.factory'サービス経由で作成しましたか?両方のフォームはどのように作成されますか?私の推測では、両方のフォームに同じ名前を付けるコントローラ ' - > createFormBuilder'メソッドを使ってそれらを作成するので、両方が同じ名前を持つことになります。 – Rvanlaak

+0

@Rvanlaak、私のログインフォームは、簡単な

タグを使って表示されます。 http://symfony.com/doc/current/security/form_login_setup.html –

+0

@Rvanlaak、私はログインフォームを削除しましたが、私はまだありません私はファイアウォールを削除するまで連絡フォームを提出することができます。私はフォームフォールトではないと確信しています。 –

答えて

1

はあなたの構成は、すでにファイアウォールの背後check_pathを置く

patternには含まれていません/login-checkのようなパスにあなたの設定を変更します。

firewalls: 
    contacts: 
     pattern: ^/contacts 
     # .. 
     form_login: 
      login_path:    /login 
      check_path:    /login-check 
      # .. 
関連する問題