URL RunAsUserSetInSession

Este URL permite a los administradores con la autorización necesaria ejecutar mandatos posteriormente en la misma sesión bajo la identidad de un cliente especificado.

Este URL permite a los administradores con la autorización necesaria ejecutar mandatos posteriormente en la misma sesión bajo la identidad de un cliente especificado. La infraestructura de control de acceso comprueba que el usuario actual pertenece a uno de los roles siguientes:

  • Representante de servicio al cliente (CSR)
  • Supervisor de servicio al cliente (CSS)
  • Director de operaciones
  • Director de ventas
  • Seller
Nota: RunAsUserSetInSession no funciona en la vista previa de la tienda.

Estructura de URL

http:// host_name/path/
El nombre totalmente calificado de HCL Commerce Server y la vía de acceso de configuración.

Valores de parámetros

langId
El idioma preferido para la duración de 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. El valor predeterminado es RunAsUserSetInSessionView.
storeId
El número de referencia de la tienda a la que el usuario se está conectando.
runAsUserId
El ID de usuario del cliente registrado. Se trata del cliente bajo el que se ejecutarán las peticiones siguientes.

Ejemplo 1

Cambiar al ID de usuario del cliente especificado (por ejemplo, 5) que necesita un administrador para ejecutar el URL RunAsUserSetInSession con el parámetro runAsUserId establecido en "5". Después de ejecutar correctamente el URL RunAsUserSetInSession, se llama a RunAsUserSetInSessionView. https:// myhostname/webapp/wcs/stores/servlet/RunAsUserSetInSession?runAsUserId=5

Ejemplo 2

El ejemplo siguiente cambia el ID de usuario a 5 y llama al URL especificado (UserAccountView): https:// myhostname/webapp/wcs/stores/servlet/RunAsUserSetInSession?runAsUserId=5&URL=UserAccountView

Comportamiento

  • Asegúrese de que el usuario que ejecuta el mandato tenga un registerType 'A'.
  • El cliente al que intenta conmutar el mandato (unAsUserId) es de registerType 'R' (usuario registrado).
  • Guarda el valor de runAsUserId en el contexto del mandato para almacenarlo en la sesión de modo que en las peticiones o mandatos posteriores se pueda restaurar el valor runAsUserId.
  • Si ha conmutado a un ID de usuario utilizando el URL RunAsUserSetInSession, no puede conmutar a otro ID de usuario. Primero debe llamar a RestoreOriginalUserSetInSession antes de realizar otra llamada RunAsUserSetInSession.
  • Si cambia a otro ID de usuario y, al ejecutar el mandato, desea recuperar la identidad original, puede realizar una llamada a getCallerId en el CommandContext.

Condiciones de excepción

Clave del mensaje de excepción Descripción:
_ERR_MISSING_PARMS El mandato genera esta excepción si el valor de runAsUserId no se especifica.
_ERR_MEMBER_USER_ADMIN_TYPE El mandato genera esta excepción si el registerType del usuario actual no es "A" (administrador).
_ERR_MEMBER_USER_REGISTERED_TYPE El mandato genera esta excepción si el registerType del usuario al que intenta cambiar el mandato no es "R" (usuario registrado).

Si se especifica el parámetro forUser mientras la sesión de administrador se rellena con la información de sesión de un cliente, se genera una excepción.