Я пытаюсь реализовать функцию безопасности в проекте Symfony 2.1, где администратор может создать пользователя с начальным паролем, а затем, когда пользователь регистрируется в первый раз, обработчик смены пароля автоматически запускается.
У меня проблемы с переопределением классов FOSUserBundle, и я думаю, что это, безусловно, уже построено каким-то образом, по крайней мере частично, хотя я не вижу его в документах где угодно.
Я хотел бы использовать флаг credentials_expired в сущности. Когда администратор создает пользователя, это будет установлено в 1. Когда пользователь впервые войдет в систему, проверяется учетная запись credentials_expired и вместо того, чтобы бросать исключение, сменяется пароль смены пароля. Я сделал это так далеко.
ChangePasswordController затем будет убедиться, что пароль был фактически изменен (это не похоже на поведение по умолчанию в FOS), а credentials_expired - на 0. Это то место, где я застрял. Есть так много слоев услуг, которые я, похоже, не могу правильно настроить.