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