Имитация входа / входа с помощью Symfony / sfDoctrineGuardPlugin - PullRequest
0 голосов
/ 14 сентября 2010

В ситуации, когда пользователь проходит проверку подлинности в другом приложении (например, oAuth или пользовательская реализация безопасности), как мы можем имитировать вход в систему?

То, что мы намерены достичь, это: - используйте ключ идентификатора пользователя, чтобы проверить, существует ли пользователь - если пользователь существует, настройте сеанс для пользователя - в основном, установите держатель атрибута - назначить пользовательский объект, чтобы он был доступен через метод getUser () Итак, мы смотрим на вход в систему программно!

Есть какой-нибудь свет, как это сделать самым простым способом?

1 Ответ

1 голос
/ 15 сентября 2010

если использовать sfDoctrineGuardPlugin, я бы сделал что-то вроде:

  1. Перенаправление пользователя на 3-ю часть oAuth-провайдера
  2. В случае успеха пользователь возвращается к вам, либо создает ему новый объект sfGuardUser, либо извлекает соответствующий объект (вам может потребоваться адаптировать схему, чтобы иметь место для хранения дополнительных данных oAuth).
  3. Вызовите myUser () -> signIn ($ user), где $ user в ранее извлеченном объекте sfGuardUser - например: я использую это в действиях регистрации, чтобы регистрировать людей после регистрации: $ this-> getUser () -> signin ($ пользователю);
...