2016-04-15 13 views
0

Anfahrt:Symfony CSRF Tests nicht

"The CSRF token is invalid. Please try to resubmit the form." 

Controller:

$message = new Message(); 
$form = $this->createForm(new MessageType($locales), $message); 
$form->handleRequest($request); 

if ($form->isSubmitted()) { 
    if ($form->isValid()) { 
     ... 
     // never reached 
    } 
} 

die rohen POST Daten Inspizieren, es enthält ein _token Feld:

message[title]: Test 
message[subtitle]: 
message[_token]:0LpwU3llG-FhyEc0o12b7rU0Pg2zSAb7xpUwAF1Xw3g 

So ist es nicht das Problem Lose fehlen {{ form_rest(form) }}

Antwort

0

Haben Sie das aus der Dokumentation (http://symfony.com/doc/current/cookbook/security/csrf_in_login_form.html) gelesen?

Konfigurieren Sie zuerst die Sicherheitskomponente, damit sie den CSRF-Schutz verwenden kann. Die Sicherheitskomponente benötigt einen CSRF-Token-Provider. Sie können diese Einstellung den Standardanbieter in der Security-Komponente

# app/config/security.yml 
security: 
    # ... 
    firewalls: 
    secured_area: 
     # ... 
     form_login: 
     # ... 
     csrf_token_generator: security.csrf.token_manager 

ich vielleicht müssen angeben, Sie denken zu verwenden, die Token-Manager für die _token

verwenden