Última actualización el 27 de junio de 2022 por Rakesh Gupta

Gran idea o pregunta duradera:

  • ¿Cómo verificar si el usuario actual tiene permiso específico (Ejecutar informes) o no para personalizar el comportamiento de un componente?

Objetivos:

Después de leer este blog, podrá:

  • Comprobar el permiso de usuario estándar para el usuario actual
  • Verifique el permiso personalizado para el usuario actual
  • Personalice el comportamiento del componente según el permiso del usuario actual
  • y mucho más

En el pasado se escribieron algunos artículos sobre Lightning Web Component . ¿Por qué no echarles un vistazo mientras estás en ello?

  1. Agregar componentes web Lightning en Mobile y Lightning Experience como fichas
  2. Crear un formulario con una barra de progreso en el componente web Lightning

Keegan Watson trabaja como desarrollador junior en Gurukul on Cloud (GoC). Ahora quiere saber cómo verificar si el usuario actual tiene permiso para Ejecutar informes o no.

Verificar permisos

Los permisos son la mejor manera de controlar el acceso y el comportamiento en Salesforce. Al desarrollar componentes web Lightning, puede personalizar el comportamiento de un componente en función de si el usuario actual tiene un permiso específico o no.

Para verificar si un usuario tiene un permiso, importe los permisos de Salesforce desde @salesforce/userPermission   y los módulos con ámbito @salesforce/customPermission y evalúe si es verdadero o indefinido. Luego, si el usuario tiene el permiso, el componente puede realizar una acción específica.


//para comprobar el permiso estándar import hasPermission from '@salesforce/userPermission/PermissionName'; // para verificar el permiso personalizado
importar hasCustomPermission de '@salesforce/customPermission/Custom_Permission_Api_Name';

Las organizaciones usan espacios de nombres como identificadores únicos para su personalización y paquetes. Los permisos personalizados pueden incluir un espacio de nombres. Si el permiso personalizado se instaló desde un paquete administrado, anteponga el espacio de nombres seguido de __ al nombre del permiso.

Enfoque de Campeón de Automatización (I-do):

Ahora es el momento de crear un componente web Lightning para verificar mediante programación el permiso RunReports en el controlador lwc.

userPermissionCheck.js-meta.xml

Se puede utilizar un componente web lightning para crear páginas personalizadas para Lightning Experience y la aplicación móvil Salesforce rápidamente con herramientas de apuntar y hacer clic. Asegúrese de agregar el objetivo correcto para ello.

Este archivo de configuración hace que el componente esté disponible para todos los tipos de páginas Lightning, pero restringe la compatibilidad en la página de inicio solo para escritorios.


<?versión xml="1.0" codificación="UTF-8"?>
<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadatos"> <apiVersion>55.0</apiVersion> <isExposed>verdadero</isExposed> <objetivos> <target>relámpago__RecordPage</target> <target>relámpago__AppPage</target> <objetivo>relámpago__Página de inicio</objetivo> </objetivos>
</LightningComponentBundle>

UserPermissionCheck .html

Un captador es una función que calcula un valor para una propiedad. Si el usuario tiene el permiso estándar Ejecutar informes, el componente mostrará el mensaje El usuario tiene permiso para ejecutar informes .


<!-- UserPermissionCheck.html -->
<plantilla> <lightning-card title="Ejemplo de verificación de permiso de usuario"> <template if:true={isRunReport}> <h2>El usuario tiene permiso para ejecutar informes.</h2> </plantilla> <template if:false={isRunReport}> <h2>El usuario no tiene permiso para ejecutar informes.</h2> </plantilla>
</tarjeta-relámpago>
</plantilla>

UserPermissionCheck .js

Este ejemplo comprueba si el usuario actual tiene el permiso estándar RunReports.


// UserPermissionCheck.js
importar { LightningElement } desde 'lwc';
importar hasRunReports desde '@salesforce/userPermission/RunReports'; exportar la clase predeterminada APermissionCheckpp extiende LightningElement { obtener isRunReport() { return haRunReports; }
}

Prueba de concepto

Evaluación formativa:

¡Quiero saber de ti!

¿Qué es una cosa que aprendiste de esta publicación? ¿Cómo imagina aplicar este nuevo conocimiento en el mundo real? Siéntase libre de compartir en los comentarios a continuación.

Esta es una traducción realizada por EGA Futura, y este es el link a la publicación original: https://automationchampion.com/2022/06/27/check-user-permissions-for-logged-in-user-in-lightning-web-component-2/

Entradas recomendadas