Mandato ResetPassword
Restablece o actualiza contraseñas en la base de datos.
Este mandato lo pueden utilizar:
- Usuarios registrados y administradores, para actualizar sus propias contraseñas.
- Usuarios registrados que desean conectarse pero que han olvidado su contraseña, para restablecer su contraseña sin tener que conectarse.
Posteriormente, se enviará por correo electrónico al usuario invitado una contraseña generada aleatoriamente.
Utilice este mandato con SSL (Secure Sockets Layer) para asegurarse de
que la contraseña de conexión y la información personal del cliente están
cifradas. Para ello, escriba el mandato con el protocolo seguro HTTPS.
Valores de los parámetros
- http://nombre_sistpral/vía de acceso/
- El nombre totalmente calificado del servidor WebSphere Commerce y la vía de acceso de configuración
- langId
- Establece o restaura el idioma preferido para la duración de la
sesión; los idiomas soportados para una tienda se encuentran en la tabla
STORELANG
- forUser
- El ID de conexión del usuario en cuyo nombre se ejecutará el mandato; este parámetro sólo
lo puede especificar una persona cuyo grupo de acceso (rol de seguridad) sea Representante de servicio al cliente.
- forUserId
- Igual que forUser, pero identifica al usuario mediante el ID de usuario interno, tal como se encuentra en la tabla USERS
- URL
-
El URL al que se debe llamar cuando el mandato se completa satisfactoriamente.
- storeId
- El número de referencia de una tienda
- reLogonURL
- El URL al que se redirigirá el mandato ResetPassword en el caso de
una condición de error
- logonId
-
El ID de conexión del usuario cuya contraseña se ha de restablecer
- challengeAnswer
-
Respuesta a una pregunta de identificación; que se utiliza para confirmar la identidad del usuario.
- logonPassword
- La nueva contraseña del usuario
- logonPasswordOld
-
La contraseña actual del usuario
- logonPasswordVerify
-
La contraseña verificada del usuario, que debe ser idéntica a
logonPassword
Ejemplo 1
Este ejemplo restablece una contraseña proporcionando el ID de conexión y la respuesta para
identificación para usuarios registrados que desean actualizar sus contraseñas:
https://misistpral/webapp/wcs/stores/servlet/ResetPassword?url=basemall.jsp
&logonId=a&challengeAnswer=a
Si el usuario es un cliente registrado, o un administrador,
verifica que la antigua contraseña sea correcta y que la nueva
contraseña coincida con la contraseña verificada. También verifica que
la contraseña cumple con los requisitos definidos por la política de
contraseñas de este usuario. Si se satisfacen todas las condiciones,
actualiza la base de datos con la nueva contraseña.
Ejemplo 2
Este ejemplo restablece una contraseña especificando la contraseña antigua y la contraseña nueva
para usuarios invitados que pueden haber olvidado su contraseña de usuario registrado:
https://misistpral/webapp/wcs/stores/servlet/ResetPassword?url=basemall.jsp
&logonPasswordOld=a&logonPassword=b&logonPasswordVerify=b
Si el usuario es un invitado, el mandato verifica que la respuesta suministrada a la pregunta
para identificación coincida con la que existe en la base de datos. Si las respuestas coinciden,
genera una contraseña arbitraria, actualiza la base de datos y envía por
correo electrónico la nueva contraseña al cliente (identificado mediante el
valor del parámetro logonId)
Comportamiento
- Este mandato llama a los mandatos de tarea siguientes:
- El mandato comprueba los parámetros necesarios. Si faltan
parámetros o no son válidos, establece una de las tareas de
error con los códigos de error apropiados.
- Si el usuario es un invitado, verifica que la
respuesta suministrada a la pregunta para identificación
coincida con la que existe en la base de datos. Si las respuestas coinciden,
genera una contraseña arbitraria, actualiza la base de datos y envía por
correo electrónico la nueva contraseña al cliente (identificado mediante el
valor del parámetro logonId)
- Si el usuario es un cliente registrado, o un administrador,
verifica que la antigua contraseña sea correcta y que la nueva
contraseña coincida con la contraseña verificada. También verifica que
la contraseña cumple con los requisitos definidos por la política de
contraseñas de este usuario. Si se satisfacen todas las condiciones,
actualiza la base de datos con la nueva contraseña.
- Cuando el mandato se completa satisfactoriamente, llama al URL especificado.
- Los usuarios que hayan recibido una contraseña generada por el mandato ResetPassword
tendrán que cambiar la contraseña después de utilizarla por primera vez.
- El mandato para restablecer la contraseña crea una contraseña
temporal, que debe cambiarse en la primera conexión, pero esto
sólo se aplica si los usuarios se autentican en la base
de datos de WebSphere Commerce.
Condiciones de excepción
Al producirse una condición de error, si especifica un URL de error en el parámetro reLogonURL,
el mandato ResetPassword se redirige a ese URL y se coloca un código de error en la petición. De lo contrario,
si no utiliza el parámetro reLogonURL, el mandato generará
una excepción ECApplicationException
y redirigirá a una vista de error que dependerá de la identidad del usuario. Puede
obtener el código de error utilizando la clase ErrorDataBean.
Si un parámetro obligatorio se omite o es incorrecto, el mandato ResetPassword establece
uno de los códigos de error siguientes, en función de la
identidad del solicitante. Estos códigos de error se añaden al URL de
error especificado si utiliza el parámetro reLogonURL:
Vista de error en base a la identidad:
- Usuario registrado
- ResetPasswordRegisterErrorView
- Usuario invitado
- ResetPasswordGuestErrorView
Condiciones de error y códigos de error asociados:
Solicitante del mandato |
Condición de error y código de error asociado |
Usuario invitado o conectado. |
- Falta el parámetro URL.
- ECSecurityConstants.ERR_MISSING_REDIRECTURL
Nota: En este caso, el mandato redirigirá a la
vista de error ResetPasswordView. |
Invitado |
- Falta el parámetro logonId.
- ECSecurityConstants.ERR_MISSING_LOGONID
- El parámetro logonId no pertenece a un usuario registrado válido.
- ECSecurityConstants.ERR_INVALID_LOGONID
- La respuesta para identificación no se ha suministrado.
- ECSecurityConstants.ERR_MISSING_CHALLENGEANSWER
- La respuesta para identificación suministrada no es correcta.
- ECSecurityConstants.ERR_INVALID_CHALLENGEANSWER
- Falta la dirección de correo electrónico del logonId suministrado.
- ECSecurityConstants.ERR_MISSING_EMAIL
- La cuenta de usuario está inhabilitada.
- ECSecurityConstants.ERR_DISABLED_ACCOUNT
|
Usuario conectado |
- Falta el parámetro logonPasswordOld.
- ECSecurityConstants.ERR_MISSING_OLDPASSWORD
- Falta el parámetro logonPassword.
- ECSecurityConstants.ERR_MISSING_NEWPASSWORD
- Falta el parámetro logonPasswordVerify.
- ECSecurityConstants.ERR_MISSING_NEWPASSWORDVERIFY
- Los parámetros logonPassword y logonPasswordVerify no coinciden.
- ECSecurityConstants.ERR_MISMATCH_PASSWORDS
- El usuario conectado ha suministrado una contraseña antigua incorrecta.
- ECSecurityConstants.ERR_INVALID_OLDPASSWORD
- La contraseña es demasiado corta.
- ECSecurityConstants.ERR_MINIMUMLENGTH_PASSWORD
- El número de caracteres consecutivos de este tipo supera el máximo permitido.
- ECSecurityConstants.ERR_MAXCONSECUTIVECHAR_PASSWORD
- El número de apariciones de caracteres de este tipo supera el máximo permitido.
- ECSecurityConstants.ERR_MAXINTANCECHAR_PASSWORD
- La contraseña no contiene el número mínimo de letras obligatorio.
- ECSecurityConstants.ERR_MINIMUMLETTERS_PASSWORD
- La contraseña no contiene el número mínimo de dígitos obligatorio.
- ECSecurityConstants.ERR_MINIMUMDIGITS_PASSWORD
- La contraseña no puede coincidir con el ID de usuario.
- ECSecurityConstants.ERR_USERIDMATCH_PASSWORD
- La contraseña no puede ser igual que la contraseña anterior.
- ECSecurityConstants.ERR_REUSEOLD_PASSWORD
- La cuenta de usuario está inhabilitada.
- ECSecurityConstants.ERR_DISABLED_ACCOUNT
|
El manejador de errores es ECConstants.EC_ERROR_CODE.
