Войти с токеном RememberMe в тестах - PullRequest
0 голосов
/ 25 августа 2018

Я пытаюсь войти в систему с 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);
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...