Comando ResetPassword
Reimposta o aggiorna le password nel database.
Questo comando può essere utilizzato da:
- Gli utenti registrati e i responsabili, per aggiornare le proprie password.
- Gli utenti registrati che desiderano effettuare l'accesso ma che hanno dimenticato la password, per utilizzare questo comando per reimpostare la propria password senza collegarsi.
Verrà inviata subito via e-mail all'utente una password creata a caso.
Utilizzare questo comando con SSL (Secure
Sockets Layer) per verificare che la password di accesso e le informazioni personali siano codificate. Per fare ciò, digitare il comando con il protocollo di sicurezza HTTPS.
Valori dei parametri
- http://nome_host/path/
- Il nome completo di WebSphere Commerce Server ed il percorso di configurazione
- langId
- Imposta o reimposta la lingua prescelta per la durata della sessione; le lingue supportate per un negozio si trovano nella tabella STORELANG
- forUser
- L'ID di collegamento dell'utente per conto del quale viene eseguito il comando; solo una persona con un gruppo di accesso (ruolo di sicurezza) di rappresentante del servizio clienti può specificare questo parametro
- forUserId
- Come per forUser, ma con identificazione dell'utente mediante l'ID utente interno, come rilevato nella tabella USERS
- URL
-
L'URL da richiamare quando il comando viene
completato con esito positivo
- storeId
- Il numero di riferimento di un negozio
- reLogonURL
- L'URL a cui viene reindirizzato il comando ResetPassword nel caso di una condizione di errore
- logonId
-
L'ID di accesso dell'utente, di cui occorre reimpostare la password
- challengeAnswer
-
Risposta alla domanda di verifica identità; utilizzata per confermare l'identità del membro.
- logonPassword
- La nuova password dell'utente
- logonPasswordOld
-
La password corrente dell'utente
- logonPasswordVerify
-
La password verificata dell'utente che deve essere uguale a logonPassword
Esempio 1
Questo esempio reimposta una password fornendo il logonId e la risposta di verifica per gli utenti registrati che desiderano aggiornare le password:
https://myhostname/webapp/wcs/stores/servlet/ResetPassword?url=basemall.jsp
&logonId=a&challengeAnswer=a
Se invece si tratta di un cliente registrato, o di un responsabile, verifica che la vecchia password sia corretta e che la nuova password corrisponda a quella verificata. Inoltre, verifica che la password sia conforme ai requisiti definiti dai criteri della password dell'utente. Se vengono soddisfatte tutte le condizioni, il database viene aggiornato con la nuova password.
Esempio 2
Questo esempio reimposta una password specificando le password vecchie e nuove per gli utenti ospiti che hanno dimenticato la password dell'utente registrato:
https://myhostname/webapp/wcs/stores/servlet/ResetPassword?url=basemall.jsp
&logonPasswordOld=a&logonPassword=b&logonPasswordVerify=b
Se l'utente non è un cliente registrato, il comando verifica che la risposta fornita alla domanda di verifica identità corrisponda a quella del database. Se questa corrispondenza esiste, si crea una password
arbitraria, il database viene aggiornato e la password viene inviata tramite e-mail al cliente (identificata dal valore del parametro logonId).
Azione
- Questo comando richiama i seguenti comandi:
- Il comando controlla i parametri richiesti. Se i parametri sono
mancanti o non validi, imposta una delle attività di eccezione con i
codici di errore appropriati.
- Se l'utente non è un cliente registrato, verifica che la risposta fornita alla domanda di verifica identità corrisponda a quella del database. Se questa corrispondenza esiste, si crea una password
arbitraria, il database viene aggiornato e la password viene inviata tramite e-mail al cliente (identificata dal valore del parametro logonId).
- Se invece si tratta di un cliente registrato, o di un responsabile, verifica che la vecchia password sia corretta e che la nuova password corrisponda a quella verificata. Inoltre, verifica che la password sia conforme ai requisiti definiti dai criteri della password dell'utente. Se tutte le condizioni vengono soddisfatte, il database viene aggiornato con la nuova password.
- Quando il comando viene completato con esito positivo, richiama l'URL specificato.
- Gli utenti a cui è stata assegnata una password creata dal comando Reset Password devono modificare la password dopo il primo utilizzo.
- Il comando per la reimpostazione della password crea una password temporanea, che deve essere modificata al primo collegamento; si noti che tale modalità viene applicata solo se gli utenti sono autenticati sul database di WebSphere Commerce.
Condizioni di errore
Su una condizione di errore, se si specifica un URL di errore nel parametro reLogonURL, il comando ResetPassword viene reindirizzato a tale URL ed un codice di errore viene posizionato sulla richiesta. Diversamente, se non si utilizza il parametro reLogonURL, il comando lancerà un ECApplicationException e reindirizzerà ad una visualizzazione dell'errore a seconda dell'identità dell'utente. E' possibile ottenere il codice di errore utilizzando la classe ErrorDataBean.
Se un parametro richiesto risulta mancante o non corretto, il comando ResetPassword imposta uno dei seguenti codici di errore, a seconda dell'identità del richiedente. Tali codici di errore vengono aggiunti all'URL di errore nel caso in cui venga utilizzato il parametro reLogonURL:
Visualizzazione dell'errore basata sull'identità:
- Utente registrato
- ResetPasswordRegisterErrorView
- Utente non registrato
- ResetPasswordGuestErrorView
Condizioni di errore e relativi codici di errore:
Richiedente del comando |
Condizione di errore e relativo codice di errore |
Utente non registrato o utente collegato. |
- Parametro URL mancante.
- ECSecurityConstants.ERR_MISSING_REDIRECTURL
Nota: In questo caso, il comando reindirizzerà alla visualizzazione dell'errore ResetPasswordView. |
Utente non registrato |
- Il parametro logonId risulta mancante.
- ECSecurityConstants.ERR_MISSING_LOGONID
- Il parametro logonId non appartiene a un utente registrato valido.
- ECSecurityConstants.ERR_INVALID_LOGONID
- La risposta di verifica identità non è stata fornita.
- ECSecurityConstants.ERR_MISSING_CHALLENGEANSWER
- La risposta di verifica identità non è corretta.
- ECSecurityConstants.ERR_INVALID_CHALLENGEANSWER
- L'indirizzo e-mail del logonId fornito risulta mancante.
- ECSecurityConstants.ERR_MISSING_EMAIL
- L'account utente è disabilitato.
- ECSecurityConstants.ERR_DISABLED_ACCOUNT
|
Utente collegato |
- Il parametro logonPasswordOld risulta mancante.
- ECSecurityConstants.ERR_MISSING_OLDPASSWORD
- Il parametro logonPassword risulta mancante.
- ECSecurityConstants.ERR_MISSING_NEWPASSWORD
- Il parametro logonPasswordVerify risulta mancante.
- ECSecurityConstants.ERR_MISSING_NEWPASSWORDVERIFY
- I parametri logonPassword e logonPasswordVerify non corrispondono.
- ECSecurityConstants.ERR_MISMATCH_PASSWORDS
- L'utente collegato ha immesso una vecchia password non valida.
- ECSecurityConstants.ERR_INVALID_OLDPASSWORD
- La password è troppo corta.
- ECSecurityConstants.ERR_MINIMUMLENGTH_PASSWORD
- Il numero di caratteri consecutivi di questo tipo è maggiore del numero massimo consentito.
- ECSecurityConstants.ERR_MAXCONSECUTIVECHAR_PASSWORD
- Il numero di istanze di caratteri di questo tipo è maggiore del numero massimo consentito.
- ECSecurityConstants.ERR_MAXINTANCECHAR_PASSWORD
- La password non contiene il numero minimo di lettere richiesto.
- ECSecurityConstants.ERR_MINIMUMLETTERS_PASSWORD
- La password non contiene il numero minimo di cifre richiesto.
- ECSecurityConstants.ERR_MINIMUMDIGITS_PASSWORD
- La password non corrisponde all'ID utente.
- ECSecurityConstants.ERR_USERIDMATCH_PASSWORD
- La password non può essere uguale alla precedente.
- ECSecurityConstants.ERR_REUSEOLD_PASSWORD
- L'account utente è disabilitato.
- ECSecurityConstants.ERR_DISABLED_ACCOUNT
|
Il gestore errori è ECConstants.EC_ERROR_CODE.
