2010-08-04 10 views
1

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

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

Répondre

0

Il s'avère que ma solution initiale (fournie dans la question) est le seul moyen d'accomplir cette fonctionnalité. J'ai conversé avec d'autres sur le forum de support openfire et ils sont d'accord.

+0

Il me semble un peu tard pour poser cette question, mais je vais essayer. Pourriez-vous fournir des étapes plus détaillées sur la façon d'accomplir cela? avez-vous reconstruit openfire à partir de la source ou ....? – Jeremy

+0

Cela faisait longtemps que je travaillais dessus ... mais si je me souviens bien, j'ai fini par faire quelque chose comme ça http://www.igniterealtime.org/builds/openfire/docs/latest/documentation/ db-integration-guide.html À l'époque, je ne crois pas que ce niveau d'intégration était possible hors de la boîte ... pourrait être maintenant ... serait intéressé de savoir si cela fonctionne pour vous. – abrightwell

+0

même si j'ai un problème avec ça. Je n'ai pas de chance depuis la semaine dernière. – Jeremy