Для моей среды test
я настроил провайдера на основе памяти:
config/packages/test/security.yaml
security:
providers:
unit_testing:
memory:
users:
test1: { password: $testpwd1, roles: ['ROLE_SUPER_ADMIN'] }
test2: { password: $testpwd2, roles: ['ROLE_SPECIAL1_ADMIN'] }
test3: { password: $testpwd3, roles: ['ROLE_SPECIAL2_ADMIN'] }
firewalls:
admin:
form_login:
provider: unit_testing
Я пытаюсь проверить форму входа в функциональном тесте.
tests/Controller/LoginControllerTest.php
$client = static::createClient();
$crawler = $client->request(Request::METHOD_GET, '/login');
$form = $crawler->selectButton('Login')->form(['_username' => 'test1', '_password' => '$testPwd1']);
$client->submit($form);
Ошибка входа.Отладка процесса входа в систему показывает, что в то время как Kernel.php
загружает дополнительную конфигурацию безопасности из test
, FirewallListener
выбирает конфигурацию, которая имеет provider = null
.
В стандартной среде вход в систему с производственными даннымиуспешно.
Что происходит?
При необходимости я предоставлю дополнительный код.