Añadir control de acceso a las extensiones de la

Puede asociar un punto de extensión con una acción de control de acceso. Puede configurar HCL Commerce para comprobar si el usuario actual puede realizar la acción antes de que se invoque el código de extensión se invoca, y pasar el resultado al código de extensión mediante el contexto de control de acceso.

En el siguiente procedimiento se ofrece un ejemplo para asociar un punto de extensión con la acción "CSRAction" para comprobar si el usuario actual es un representante de servicio al cliente.

Antes de empezar

  • Registre el código de extensión xC para las tiendas que deben utilizar la extensión.

Procedimiento

  1. En el entorno de desarrollo, utilice el programa de utilidad de carga de datos para cargar los datos para actualizar el registro de una extensión para incluir los cambios de control de acceso.
    1. Guarde el siguiente archivo CSV en el directorio WCDE_installdir/samples/DataLoad/xC:
      El archivo añade el control de acceso para una extensión que valida la cantidad pedida. En el archivo,
      • Observe que la columna Properties contiene el par nombre-valor AccessControlActions=CSRAction. Al definir la propiedad AccessControlActions, se asocia el punto de extensión validate_quantity con la acción de control de acceso CSRAction.
      • Asegúrese de especificar un entero exclusivo para la columna UEConfigId en el archivo CSV. El ejemplo utiliza 1.
    2. Cargue los datos en la base de datos. Para obtener más información, consulte Asignación del código de extensión a los puntos de extensión.
  2. En el código de implementación de la externalized customization, utilice el siguiente método para obtener el valor booleano resultante de la comprobación de control de acceso de CSRAction:
    boolean csrAction = Boolean.parseBoolean(ueRequest.getContextData().getAccessControlContext().get("CSRAction"));
  3. Mediante el valor booleano resultante, defina la implementación lógica utilizando el valor de control de acceso.
    Por ejemplo,
    if(csrAction) {
    // CSR-specific logic
    }else{
    // Non-CSR logic
    }