Frage

Ich bin mit dem Acegi groovy Plugin für die Benutzerregistrierung und Authentifizierung. Der Nutzer Domain-Klasse, die mit der Plug-in kommt, hat die folgende Definition (und Kommentare).

class User {
static transients = ['pass']
static hasMany = [authorities: Role]
static belongsTo = Role

/** Username */
String username
/** User Real Name*/
String userRealName
/** MD5 Password */
String passwd
/** enabled */
boolean enabled

String email
boolean emailShow

/** description */
String description = ''
...

}

und so weiter. Ich habe daher davon ausgegangen, dass die Passwort Verschlüsselungsmethode ist MD5.

Ich habe zu viele tausend Benutzer registrieren, ein zufälliges Passwort für jeden Benutzer zu erzeugen. (Benutzername ist bereits angegeben).

Ich schrieb ein Skript, das zufällige -plain- Passwörter und MD5 Verschlüsselt paswords erzeugt und macht die jeweiligen Einsätze in die DB. Leider keine dieser Benutzer anmelden kann.

Ist der Acegi Sicherheits-Plug in mit MD5-Verschlüsselung?

Es scheint zu sein, dass es etwas anderes verwendet. Leider habe ich nichts an der Dokumentation.

Jeder weiß, wie wird diese Verschlüsselung getan?

Danke!

Luis

War es hilfreich?

Lösung

Wenn Sie mit DaoAuthenticationProvider und nicht setzen die passwordEncoder Eigenschaft ist der Standard-Passwort-Encoder PlaintextPasswordEncoder . Um einen MD5 Passwort-Encoder konfigurieren Sie

  <bean
      id="passwordEncoder"
      class="org.acegisecurity.providers.encoding.Md5PasswordEncoder"/>

  <bean
      id="daoAuthenticationProvider"
      class="org.acegisecurity.providers.dao.DaoAuthenticationProvider">
    <property name="userDetailsService" ref="userDetailsService"/>
    <property name="passwordEncoder" ref="passwordEncoder"/>
  </bean>

Andere Tipps

oder Sie können die authenticateService.encodePassword ( "Passwort") verwenden. Sehen Sie das Plugin-RegisterController der Speichermethode zum Beispiel

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top