Symfony-Abwertung für SessionTokenStorage beim Generieren eines CSRF-Tokens in phpunit-Funktionstests

Post a reply

Smilies
:) :( :oops: :chelo: :roll: :wink: :muza: :sorry: :angel: :read: *x) :clever:
View more smilies

BBCode is ON
[img] is ON
[flash] is OFF
[url] is ON
Smilies are ON

Topic review
   

Expand view Topic review: Symfony-Abwertung für SessionTokenStorage beim Generieren eines CSRF-Tokens in phpunit-Funktionstests

by Guest » 13 Jan 2025, 15:51

Ich verwende Symfony 5.4
Ich habe nicht verstanden, was Symfony wirklich braucht, um diese veraltete Version zu korrigieren:

Seit symfony/security-csrf 5.3: Verwendung von „Symfony\Component\Security\Csrf\TokenStorage\SessionTokenStorage“ ohne a Die Sitzung hat keine Auswirkung und ist veraltet. Es wird eine „Symfony\Component\HttpFoundation\Exception\SessionNotFoundException“ in Symfony 6.0
1x in MeansCablesControllerTest::TestDatagridAdd aus App\Tests\Controller

ausgelöst Meine Funktion in tests/Controller/MeansBenchesControllerTest.php (WebTestCase):

Code: Select all

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);

}

Top