anular la asignación de un conjunto de permisos mediante el activador de Apex para el usuario – DevFacts | Blog de tecnología | Comunidad de desarrolladores
Los conjuntos de permisos compatibles con todos proporcionan la forma de jugar con el acceso a Salesforce. Usando apex podemos asignar y desasignar dinámicamente para el usuario.
A continuación se muestra un ejemplo de cómo puede eliminar un conjunto de permisos de un usuario mediante un desencadenador de Apex:
trigger UnassignPermissionSet on User (before update) { List<PermissionSetAssignment> psaList = [SELECT Id, PermissionSetId, AssigneeId FROM PermissionSetAssignment WHERE AssigneeId = :Trigger.Old[0].Id]; if (!psaList.isEmpty()) { delete psaList; } }
En este disparador, primero tomamos una lista de los PermissionSetAssignment
registros que están asociados con el usuario que se actualiza en nuestra organización de Salesforce.
Comprobemos que si la lista no está vacía, es decir, hay conjuntos de permisos asignados al usuario, eliminamos el PermissionSetAssignment
registros, desasignando efectivamente los conjuntos de permisos del usuario. El disparador utiliza un before update
gatillo en el User
objeto para capturar cambios en el usuario y eliminar conjuntos de permisos antes de que las actualizaciones se envíen a la base de datos.