2017-07-03 3 views
2

Ich habe die Passwortstärke zu meinem Benutzerpasswort hinzugefügt.Passwortstärke funktioniert nicht beim Zurücksetzen des Passworts Symfony

Dies funktioniert gut, aber wenn ein Benutzer sein Kennwort zurücksetzen möchte, gelten diese Kennwortrichtlinien nicht.

Wie kann ich dem Zurücksetzungskennwort die Kennwortstärke hinzufügen?

+0

Sie verwenden fosuserbundle? – ahmedbhs

+0

Ja ich bin, es scheint, dass es immer noch die Standard-FOSUserBundle Passwortstärke Werte –

+0

Ihre Rede über das Ändern des Passworts oder das Resenting per Mail verwenden, können Sie mir URL geben! – ahmedbhs

Antwort

2
// vendor/friendsofsymfony/user-bundle/Ressources/config/validation.xml 
    <property name="plainPassword"> 
     <constraint name="NotBlank"> 
      <option name="message">fos_user.password.blank</option> 
      <option name="groups"> 
       <value>Registration</value> 
       <value>ResetPassword</value> 
       <value>ChangePassword</value> 
      </option> 
     </constraint> 
     <constraint name="Length"> 
      <option name="min">2</option> 
      <option name="max">4096</option> 
      <option name="minMessage">fos_user.password.short</option> 
      <option name="groups"> 
       <value>Registration</value> 
       <value>Profile</value> 
       <value>ResetPassword</value> 
       <value>ChangePassword</value> 
      </option> 
     </constraint> 
    </property> 

Das obere ist nur kopieren eingefügt aus Fosusbundle. Wie Sie sehen können, fügt fosuserbundle die Gruppe ResetPassword hinzu. versuchen, so gut dies so

/** 
* @Assert\Regex(
* pattern="/(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9]).{7,}/", 
* message="Uw wachtwoord moet zeven tekens of langer zijn, minimaal één getal bevatten, een hoofletter en een kleine letter. ", 
* groups = { "ResetPassword"} 
*) 
*/ 
protected $plainPassword; 

aktualisieren

Alles, was Sie tun müssen, um die Zeile hinzufügen

* groups = { "ResetPassword"} 

zum $ Plain Anmerkung.

+0

Ich habe hinzugefügt: [ERROR 1845] Element ‚Eigentum‘: Keine passende globale Deklaration für die Validierung Wurzel . (in/sites/zioo/www/web/- Zeile 1, Spalte 0) Wird dies verursacht, weil ich Yml verwende? Ich bin mir nicht sicher. –

+0

@MarcoKoopman Sie müssen nur die Validierungsgruppe in Ihrer Annotation hinzufügen – lordrhodos

+0

nicht sicher, was Sie meinen, wenn es verursacht wird, weil Sie Yml verwenden. die einzige Sache, die Sie hinzufügen müssen, ist der Anmerkungsteil * groups = {"ResetPassword"} –

0

Beide

/** 
* @Assert\Regex(
* pattern="/(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9]).{7,}/", 
* message="Uw wachtwoord moet zeven tekens of langer zijn, minimaal één getal bevatten, een hoofletter en een kleine letter. " 
*) 
*/ 
protected $plainPassword; 

Und

<property name="plainPassword"> 
    <constraint name="NotBlank"> 
     <option name="message">fos_user.password.blank</option> 
     <option name="groups"> 
      <value>Registration</value> 
      <value>ResetPassword</value> 
      <value>ChangePassword</value> 
     </option> 
    </constraint> 
    <constraint name="Length"> 
     <option name="min">2</option> 
     <option name="max">4096</option> 
     <option name="minMessage">fos_user.password.short</option> 
     <option name="groups"> 
      <value>Registration</value> 
      <value>Profile</value> 
      <value>ResetPassword</value> 
      <value>ChangePassword</value> 
     </option> 
    </constraint> 
</property> 

Wil Arbeit. Der Fehler kam von einer Validator-Datei, die ich vor langer Zeit erstellt habe. Dieser Validierer hatte einen Fehler und dieser Fehler war der Grund, warum diese Option nicht funktionierte.

Durch Hinzufügen von "* groups = {" Registrierung "}" habe ich den Fehler behoben.

Wenn Sie den gleichen Fehler wie ich begegnen, überprüfen Sie Ihre Validierungsdateien auf Fehler und beheben Sie sie.

Verwandte Themen