Устаревание Symfony в SessionTokenStorage при создании токена csrf в функциональных тестах phpunitPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Устаревание Symfony в SessionTokenStorage при создании токена csrf в функциональных тестах phpunit

Сообщение Anonymous »

Я использую Symfony 5.4
Я не понимал, что действительно нужно Symfony, чтобы исправить это устаревание:

Начиная с symfony/security-csrf 5.3: использование «Symfony\Component\Security\Csrf\TokenStorage\SessionTokenStorage» без сеанса не имеет никакого эффекта и устарел. Он выдаст исключение «Symfony\Component\HttpFoundation\Exception\SessionNotFoundException» в Symfony 6.0
1x в MeansCablesControllerTest::TestDatagridAdd из App\Tests\Controller

Моя функция в тестах/Controller/MeansBenchesControllerTest.php (WebTestCase) :
function datagridAddUpdate($controllerName, $dataArray)
{
$client = static::createClient();

$usersRepository = static::getContainer()->get(UsersRepository::class);
$testUserAdmin = $usersRepository->find(1);

$client->loginUser($testUserAdmin);

$csrfToken = $client->getContainer()->get('security.csrf.token_manager')->getToken($controllerName.'Token_item');

$dataArray['_token'] = $csrfToken;

$crawler = $client->request('POST', '/datagridAddUpdate/'.$controllerName,$dataArray, [], ['HTTP_X_REQUESTED_WITH' => 'XMLHttpRequest']);

$this->assertResponseIsSuccessful('Status code 2xx pour datagridAdd : '.$controllerName);

}


Подробнее здесь: https://stackoverflow.com/questions/706 ... n-in-phpun
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»