Changer le mot de passe d'un autre utilisateur à l'aide de FOSUserBundle
J'ai deux rôles dans mon système: les utilisateurs et les administrateurs. Par défaut, lorsque quelqu'un se connecte en tant qu'un utilisateur ou un administrateur, il peut modifier son propre mot de passe à l'aide de la mise en œuvre des formes de FOSUserBundle. Mais je tiens à interdire aux utilisateurs de changer leur propre mot de passe, d'avoir à demander à l'admin, alors l'administrateur de réinitialiser, soit l'introduction d'un nouveau choisie par l'administrateur, soit à générer un son aléatoire. Je voudrais aussi envoyer et un e-mail à l'utilisateur en lui disant que son mot de passe a changé et qu'il a à utiliser la nouvelle à partir de maintenant. Mais je ne trouve pas comment faire. Toute aide?
Vous devez vous connecter pour publier un commentaire.
Si vous voulez un admin pour modifier un autre utilisateur, mot de passe, vous pouvez utiliser votre propre forme:
//...
Et puis, dans votre contrôleur:
Vous pouvez empêcher les utilisateurs de modifier leur mot de passe en retrait de la
fos_user_change_password
etfos_user_resetting
des itinéraires dans votreapp/config/routing.yml
fichier. De cette façon, ni les utilisateurs, ni admin sera en mesure de modifier leur propre mot de passe par le biais de la/profile
page.Alors vous aurez besoin pour créer une facilité de contrôleur de l'action qui permet à l'administrateur de modifier les mots de passe et d'envoyer l'e-mail. Pour ce faire vous pouvez utiliser FOSUserBundle
UserManager
et sessetPlainPassword()
méthode.Prendre un coup d'oeil à la documentation:
De Sécurité De Symfony2
FOSUserBundle Le Gestionnaire Des Utilisateurs
Comment envoyer un Email