Question

Je veux être en mesure de créer des utilisateurs qui ont un mot de passe en SHA-1 droite. Non Blowfish, rien de spécial, tout simplement vieux vanille SHA-1. La seule façon que je l'ai été en mesure d'y arriver a jusqu'à présent été d'étendre DefaultUserProvider et remplacer le createUser, ce qui rend la modification suivante:

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.
    }
}

Y at-il une meilleure façon de le faire? Pensées? Suggestions?

(La raison de cette « exigence » est que je suis en train d'accéder à la table de ofUser via mod_auth_mysql pour que je puisse avoir un « signe unique sur » solution pour tous les différents domaines de mon projet, comme Subversion.)

Était-ce utile?

La solution

Il s'avère que ma solution initiale (fournie dans la question) est la seule façon d'accomplir cette fonctionnalité. Je me suis entretenu avec les autres sur le forum de soutien openfire et ils sont d'accord.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top