Frage

Ich möchte in der Lage sein, Benutzer mit einem direkten SHA-1-Passwort zu erstellen. Kein Blowfish, nichts Besonderes, einfach auch alte Vanille-SHA-1. Die einzige Möglichkeit, dies bisher zu erreichen, bestand darin, StandardUserProvider zu erweitern und den CreateUser zu überschreiben, wodurch die folgende Änderung vorgenommen wurde:

if (!usePlainPassword) {
    try {
        encryptedPassword = StringUtils.hash(password.getBytes(),"SHA-1");
        // encryptedPassword = AuthFactory.encryptPassword(password);
        // Set password to null so that it's inserted that way.
        password = null;
    } catch (UnsupportedOperationException uoe) {
        // Encrypting the password may have failed if in setup mode.
        // Therefore, use the plain password.
    }
}

Gibt es einen besseren Weg, dies zu tun? Gedanken? Anregungen?

(Der Grund für diese "Anforderung" ist, dass ich versuche, zugreifen zu können ofUser Tabelle über mod_auth_mysql so, dass ich für alle verschiedenen Bereiche meines Projekts eine "einzelne Zeichen für" Lösung haben kann, wie z. B. Subversion.)

War es hilfreich?

Lösung

Es stellt sich heraus, dass meine erste Lösung (in der Frage angegeben) die einzige Möglichkeit ist, diese Funktionalität zu erfüllen. Ich habe mich im OpenFire Support -Forum mit anderen unterhalten und sie stimmen zu.

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