Symfony: как принудительно сбросить пароль для пользователя после входа в систему / во время активного сеанса - PullRequest
0 голосов
/ 27 января 2019

У меня есть объект User со свойством resetPassword.Это логическое значение, если true пользователь должен быть перенаправлен на resetPassword форму.

На данный момент у меня есть эта логика в моем DefaultController.Когда кто-то попадает на маршрут индекса, действие контроллера проверяет наличие флага и при необходимости выдает форму resetPasswordType.Это нормально, но далеко от идеала: без кода вырезания / вставки он не будет применяться ко всем маршрутам.

Каков наилучший способ для правильной реализации этого?

У меня было несколько идей:

  • Прослушиватель событий, подобный описанному здесь , может помочь.Я попробовал это, и мне удалось получить токен пользователя и заставить работать чек, но я не уверен, что лучший способ отрисовки formType оттуда.Может быть, я мог бы просто перенаправить маршрут из прослушивателя событий, но опять же я не уверен на 100%, как это сделать.

  • Пользовательский userChecker .Это будет работать только после входа в систему, но это нормально в этом случае.Опять же, я попробовал, это сработало, но я не уверен, как отрисовать форму оттуда.

  • Какой-то пользовательский редирект после успеха но я не уверен, где на самом деле сделать проверку флага resetPassword в этом случае.

Любые мнения / советы приветствуются.

1 Ответ

0 голосов
/ 27 января 2019

Создайте MY_Controller.php в приложении / ядре:

  class MY_Controller extends CI_Controller {
function __construct()
{
    parent::__construct();



        //do your works...
}
}

Затем расширяет все ваши контроллеры:

class your_controller extends MY_Controller {}

Ваш код будет работать до запуска любого контроллера (расширенного из MY_Controller).

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