Войти без формы отправки - PullRequest
       1

Войти без формы отправки

0 голосов
/ 21 февраля 2012

Я искал и искал слишком много времени для решения своей проблемы, и я едва ли могу найти что-то сфокусированное на теме, которая меня беспокоит.

А именно: у вас есть идея, если пользователь может войти в системуобрабатываться внутри symfony2 без использования формы входа?Чтобы быть более точным, я имею в виду, скажем, что-то вроде этого:

$this->authenticationManager->login($user->getUsername(), $user->getPassword());

На данный момент у меня есть две идеи, чтобы сделать то, что я хочу сделать, но немного по-другому:

  1. ВзятьПреимущество AJAX и отправка arequest через POST для loginAction с ним (к сожалению, это не сработает, если бы JavaScript был отключен)
  2. В документах Symfony я нашел параметр post_only: true , которыйкогда я установил в false, я получу доступ к loginAction с помощью метода GET, поэтому простое перенаправление сделало бы эту работу.

тем не менее, я бы предпочел решение, которое я ищу.

КСТАТИ: Можете ли вы сказать мне, как генерировать токен csrf, если он мне нужен для успешной работы?отправить данные для входа?

1 Ответ

6 голосов
/ 21 февраля 2012

Вы можете вручную установить токен аутентификации:

// Inside an action, for example. You already need an user.
$providerKey = 'main'; // your firewall name
$token = new UsernamePasswordToken($user, null, $providerKey, $user->getRoles());
$this->container->get('security.context')->setToken($token);

Найдено здесь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...