Domanda

Voglio essere in grado di creare utenti con una password SHA-1 diretta. Nessun pesce pompino, niente di speciale, solo vecchia vaniglia sha-1. L'unico modo in cui sono stato in grado di raggiungere questo obiettivo finora è stato quello di estendere DefaultUserProvider e sovrascrivere il CreateUser, apportando la seguente modifica:

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

C'è un modo migliore per farlo? Pensieri? Suggerimenti?

(Il motivo di questo "requisito" è che sto cercando di accedere ofUser Tabella tramite mod_auth_mysql in modo da poter avere una soluzione "singolo segno" per tutte le diverse aree del mio progetto come la sovversione.)

È stato utile?

Soluzione

Si scopre che la mia soluzione iniziale (fornita nella domanda) è l'unico modo per realizzare questa funzionalità. Ho conversato con altri sul forum di supporto a fuoco aperto e concordano.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top