app.user не устанавливается при ручной аутентификации пользователя - PullRequest
0 голосов
/ 18 декабря 2011

Я следую примеру того, как вручную аутентифицировать пользователя после регистрации, это выглядит так:

$token = new UsernamePasswordToken($user->getUsername(), null, 'main', array('ROLE_USER'));
$this->get('security.context')->setToken($token);

Bu, потому что я использую сущность doctrine в качестве провайдера пользователя, она не устанавливаетсяправильно, и я не знаю, как сделать это правильно.Если я передам $ user в качестве первого аргумента, веб-страница зацикливается бесконечно.Я чувствую, что где-то должен быть класс DoctrineUserToken, но не могу его найти.

Можете ли вы направить меня, пожалуйста?

РЕДАКТИРОВАТЬ:

, если я изменю строку на это:

$token = new UsernamePasswordToken($user, null, 'main', $user->getRoles());

, где я передаю $ user первымаргумент, и получить роли от объекта пользователя, то перенаправление приводит к бесконечному циклу.

Я потерян.

1 Ответ

2 голосов
/ 06 января 2012

Попробуйте этот код:

$token = new UsernamePasswordToken($user->getUsername(), null, 'secured_area', array('ROLE_USER'));
$this->get('security.context')->setToken($token);

$ providerKey необходимо получить форму secure.yml:

firewalls:
    secured_area:
        form_login:
            check_path: /signInCheck
            login_path: /signIn
        logout: true
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...