2016-04-15 5 views
0

Получение:Symfony CSRF чек неудачу

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

Контроллер:

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

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

Проверка исходных данных POST, он включает в _token поле:

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

Так что это не проблема лоты отсутствуют {{ form_rest(form) }}

ответ

0

Вы прочитали это из документов (http://symfony.com/doc/current/cookbook/security/csrf_in_login_form.html)?

Сначала настройте компонент безопасности, чтобы он мог использовать защиту CSRF. Компоненту безопасности нужен поставщик токенов CSRF. Вы можете установить это использовать поставщика по умолчанию, доступные в компоненте безопасности

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

Я думаю, что, может быть, вам нужно указать, какой маркер менеджер использовать для _token

Смежные вопросы