Mettre en œuvre le changement de mot de passe dans Symfony2
Quelle est la meilleure façon de mettre en œuvre le changement de mot de passe fonctionnalité dans Symfony2?
Actuellement, j'utilise ceci:
$builder->add('password', 'repeated', array(
'first_name' => 'New password',
'second_name' => 'Confirm new password',
'type' => 'password'
));
Il doit également contenir le mot de passe actuel vérifier pour des raisons de sécurité.
Note: je ne suis pas en utilisant FOSUserBundle
.
Vous devez vous connecter pour publier un commentaire.
Depuis Symfony 2.3, vous pouvez facilement utiliser
Motdepasse
contrainte de validation.Acme\UserBundle\Form\Model\ChangePassword.php
Acme\UserBundle\Form\ChangePasswordType.php
Acme\UserBundle\Controller\DemoController.php
UserPasswordValidator
utilise le contexte de sécurité actuel de l'utilisateur authentifiéVous devez soit créer un autre modèle avec deux champs:
Ou ajouter un non-persisté bien à votre modèle d'utilisateur comme le FOSUserBundle (voir la
plainPassword
propriété).Donc, une fois que vous avez coché à la fois actuel et le nouveau mot de passe sont valides, vous encodez le nouveau mot de passe et de remplacer l'ancien avec elle.
Juste ajouter ceci à votre type de formulaire:
- Je utiliser une action de mon contrôleur:
Ne pouvez-Vous pas obtenir de l'ancien mot de passe de l'Utilisateur avant de liaison d'un formulaire?