Я пытаюсь войти в систему с RememberMe token
, чтобы я мог проверить, что мой контроллер делает то, что ему нужно, когда вы не полностью вошли в систему.
Поскольку мои пользователи имеют значение in_memory
в моей конфигурации теста безопасности следующее не работает и дает мне исключение, что объект User
не является частью моей безопасности.Так как же мне создать мой RememberMeToken
объект?
С помощью UsernamePasswordToken
можно просто передать строку как пользователь, но не с помощью RememberMeToken
protected function logInWithToken($role = 'ROLE_USER'): void
{
$session = $this->client->getContainer()->get('session');
$firewallName = 'main';
$firewallContext = 'main';
$token = new RememberMeToken(
new User($role),
$firewallName,
'secret'
);
$session->set('_security_'.$firewallContext, serialize($token));
$session->save();
$cookie = new Cookie($session->getName(), $session->getId());
$this->client->getCookieJar()->set($cookie);
}