URL de inicio de sesión

Conectar un usuario registrado a una tienda o sitio web.

Utilice este URL 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 hacer esto, escriba el URL utilizando el protocolo seguro HTTPS.

Aviso: Utilice solo HTTP POST con este URL. Al utilizar HTTP GET, las contraseñas se pueden registrar en el historial de navegador o en los registros de servidor web.

Estructura de URL

http://host_name/path/
El nombre completo del servidor HCL Commerce y la vía de acceso de configuración

Valores de parámetros

langId
Establece o restablece el idioma preferido durante el tiempo que dura la sesión; los idiomas soportados para una tienda se encuentran en la tabla STORELANG
URL
El URL al que se debe llamar cuando el mandato se completa satisfactoriamente.
storeId
Es el número de referencia de la tienda en la cual el usuario está iniciando la sesión
logonId
Es el ID de inicio de sesión del usuario registrado
logonPassword
Es la contraseña del usuario registrado
reLogonURL
Es el URL que se invoca cuando el mandato no se completa
rememberMe
Opcional. Especifica que debe recordarse el usuario después de cerrar el examinador. Este parámetro solo funciona si se ha habilitado una sesión.

Ejemplo 1

En el ejemplo siguiente, el usuario cuyo ID de inicio de sesión es henry y cuya contraseña es h48smith inicia la sesión en la tienda que tiene el número de referencia 10101, y luego se muestra la página inicial de la tienda.

https://myhostname/webapp/wcs/stores/servlet/Logon?logonId=henry&logonPassword=h48smith&URL=TopCategoriesDisplay&
       reLogonURL=LogonForm&storeId=10101&catalogId=10101&langId=-1

Comportamiento

Se realizan las comprobaciones siguientes para verificar que el usuario tiene autorización para iniciar la sesión:
  1. Verificar que la cuenta del usuario no está inhabilitada. (Esta acción no se realiza si se utiliza la modalidad LDAP).
  2. Verificar que el inicio de sesión está permitido. La política de bloqueo de la cuenta especifica cuánto tiempo debe transcurrir después de una especificación incorrecta de la contraseña antes de permitir un posterior intento de inicio de sesión.
  3. Verificar que la contraseña especificada por el usuario sea correcta.
  4. Verificar que la cuenta del usuario está aprobada.
  5. Verificar que ninguna de las organizaciones de ancestro del usuario esté bloqueada.
  6. Verificar que el usuario tiene un rol en la organización actual de la tienda.
Si se especifican credenciales válidas, y se utiliza la modalidad LDAP, se asignan al usuario los roles predeterminados que se especifican en MemberRegistrationAttributes.xml.
Independientemente de si se han especificado credenciales válidas y no se utiliza la modalidad LDAP, se llama al mandato de tarea el AccountLockoutPolicyCmd para actualizar la información de política de cuenta para el usuario:
  • Política de bloqueo de cuenta:
    • USERREG.PASSWORDRETRIES se incrementa para cada especificación incorrecta de la contraseña.
    • Si hay demasiados reintentos con contraseñas incorrectas, la cuenta de usuario se inhabilita, estableciendo USERREG.STATUS en 0.
  • Política de contraseña:
    • Si la contraseña es demasiado antigua, USERREG.PASSWORDEXPIRED se establece en 1, con lo cual la contraseña pasa al estado de contraseña caducada.
  • El mandato de tarea AccountLockoutPolicyCmd no hace nada si se utiliza LDAP.
Después de un inicio de sesión satisfactorio, también se ejecutan estos pasos:
  1. Los recursos del usuario se transfieren desde el usuario invitado anterior, si es pertinente.
  2. El contexto del mandato se actualiza a la identidad del usuario autenticado.
  3. Si la característica de invalidación de contraseña está habilitada, y la contraseña está en estado caducado, y no se utiliza la modalidad LDAP, se dirige al usuario a la vista ChangePassword.
  4. Si la conexión ha tenido lugar después de que la característica de tiempo de espera de conexión haya finalizado la sesión, el usuario se dirige al URL que se ha especificado originalmente cuando se ha producido el tiempo de espera excedido de conexión.
El flujo de comportamiento detallado es el siguiente:
  • Se invoca el mandato de tarea VerifyCredentialsCmd, el cual ejecuta una de las tareas siguientes:

    Este flujo asegura que el ID de conexión y la contraseña del cliente son correctos.

  • Se invocan las tareas siguientes:
    • AccountLockoutPolicyCmd
    • AuthenticationPolicyCmd
    • MigrateUserEntriesCmd (Esta tarea se debe definir siempre. Existe una implementación predeterminada.)
      • De forma predeterminada, este mandato no fusiona el carro de la compra para los usuarios invitados y registrados. Puede configurar el mandato para fusionar el carro realizando una de las tareas siguientes:
        • Establecer MemberSubSystem/MergeCartsAtAuthentication/enabled en wc-server.xml en true
        • Establecer el parámetro mergeCart en las propiedades de petición del mandato en true.
  • Comprueba si la contraseña ha caducado y, en caso afirmativo, redirige al usuario a la vista ChangePassword.
  • Si alguna de las organizaciones ancestro a las que pertenece un cliente o usuario administrativo de una tienda está bloqueada, el cliente o usuario no puede iniciar la sesión en la tienda.
  • Mediante el mandato Logon, el usuario inicia la sesión en la tienda, no en el sitio web. Si un usuario no tiene un rol en la organización de una tienda ni en ninguna de sus organizaciones ancestro, WebSphere Commerce no permite al usuario iniciar la sesión en la tienda.
  • Si el estado de aprobación de registro de un usuario es pendiente de aprobación, HCL Commerce no permite que ese usuario inicie la sesión en la tienda.
Para habilitar la conexión simultánea, consulte Habilitar el soporte de varios inicios de sesión para el mismo usuario. Para conocer el comportamiento predeterminado, tenga en cuenta este escenario donde no se soporta la conexión simultánea:Dos usuarios en una empresa comparten normalmente una cuenta en una tienda. Supongamos que el primer usuario se encuentra en la página de pago de la tienda y, justo antes de enviar el pedido, el segundo usuario inicia la sesión. Los sucesos siguientes son la serie completa de sucesos:
  1. Navegador uno... Navegador uno: el usuario 1 se conecta como usuario xyz; añade un artículo al carro de la compra.
  2. Navegador dos... El usuario 2 también inicia sesión como xyz, se dirige a la página del carro de compra y a continuación procede al pago.
  3. Navegador uno... El usuario 1 pulsa pasar por caja, pero se le informa de que se ha desconectado.
  4. Navegador dos... El usuario 2 finaliza el proceso de pago, como es habitual.
Otro ejemplo en el que las empresas utilizan un ID de usuario común para que sus empleados compren en una tienda B2B. Solo un usuario debe utilizar el ID de usuario común a la vez, o cada usuario debe tener configurado un ID de usuario propio. De lo contrario, es probable que uno de los usuarios no pueda completar sus transacciones.
Nota: Si la contraseña para un usuario es NULL en la base de datos, la contraseña debe restablecerse cuando el usuario inicia la sesión. La contraseña del usuario se restablece automáticamente independientemente de la contraseña que el usuario haya especificado. A continuación, se envía un correo electrónico al usuario con una contraseña temporal que el usuario puede utilizar para iniciar la sesión y establecer su propia contraseña. Puede inhabilitar el restablecimiento automático cuando la contraseña es nula en el inicio de sesión inhabilitando la siguiente propiedad configurable en el archivo de configuración de instancia:
MemberSubSystem/ResetPassword/resetNullPasswordEnabled
Esta propiedad está habilitada de forma predeterminada cuando la característica de fundación está habilitada. Si se inhabilita esta propiedad, un usuario debe entrar la respuesta de identificación para restablecer la contraseña nula. A continuación, el usuario recibe una contraseña temporal para que inicie la sesión y establezca su nueva contraseña de usuario.

Puede configurar la funcionalidad de restablecimiento de contraseña para emitir códigos de validación para los usuarios en lugar de emitir contraseñas temporales. Para obtener más información, consulte Configuración Restablecer contraseña para utilizar códigos de validación largos..

Condiciones de excepción

El manejador de errores, ECConstants.EC_ERROR_CODE, captura el código de error, que puede ser uno de los siguientes códigos.
Explicación Valor de código de error
ID de inicio de sesión omitido ECSecurityConstants.ERR_MISSING_LOGONID (2000)
ID de inicio de sesión no válido ECSecurityConstants.ERR_INVALID_LOGONID (2010)
Contraseña no especificada ECSecurityConstants.ERR_MISSING_PASSWORD (2020)
Contraseña no válida ECSecurityConstants.ERR_INVALID_PASSWORD (2030)
La cuenta está inhabilitada ECSecurityConstants.ERR_DISABLED_ACCOUNT (2110)
HCL Commerce Version 9.1.6.0 or laterLa cuenta está bloqueada ECSecurityConstants.ERR_LOCKED_OUT_ACCOUNT(2490)
Contraseña demasiado larga o demasiado corta ECSecurityConstants.ERR_LENGTH_PASSWORD (2120)
Intervalo demasiado corto entre un intento de inicio de sesión fallido y un intento posterior. ECSecurityConstants.ERR_LOGON_NOT_ALLOWED (2300)
Una de sus organizaciones ancestro está bloqueada. ECSecurityConstants.ERR_PARENT_ORG_LOCKED (2400)
El usuario no tiene un rol en la organización de la tienda ni en ninguna de sus organizaciones de ancestro. ECSecurityConstants.ERR_NOT_REGISTERED_CUSTOMER (2410)
El estado del usuario es pendiente de aprobación. El usuario no está autorizado a iniciar la sesión a menos que tenga el estado aprobado. ECSecurityConstants.ERR_USER_IN_PENDING_APPROVAL (2420)