Uso compartido de Apex-
With Sharing: use la palabra clave with sharing al declarar una clase para hacer cumplir las reglas de uso compartido del usuario actual.
Sin compartir: utilice la palabra clave sin compartir al declarar una clase para garantizar que no se apliquen las reglas de uso compartido para el usuario actual.
heredar el uso compartido: use la palabra clave de uso compartido heredado al declarar una clase para hacer cumplir las reglas de uso compartido de la clase que la llama.
isSecurityEnforced
por ejemplo, id, nombre, correo electrónico: si no tiene acceso a 2 campos, encontrará
el primer campo al que no tiene acceso y arroja un error solo en eso
la consulta de relación no está permitida
consulta – modo usuario
si no, el acceso arrojará un error
no filtrar registros
List<Cuenta> acc = [SELECCIONE Id, nombre DE Cuenta CON USER_MODE];
getInaccessibleFields() en QueryException para examinar el conjunto completo de errores de acceso.
se permite consulta de relación
Franja inaccesible: actualización en la parte superior del modo de usuario
campos consultados – complementarios al modo usuario
filtre si no accede pero no arroje un error
luego usa una tira inaccesible
no se usa en la consulta
consultar registros y pasar el método
Security.stripInaccessible(AccessType.READABLE,
[SELECCIONE Nombre, Costo Presupuestado, Costo Real DE Campaña]
1. clonar una lista
2. de la lista de clones: elimine los campos a los que no tiene acceso
3. hacer DML no hay error
…
Esta es una traducción realizada por EGA Futura, y este es el link a la publicación original: https://www.sfdcamplified.com/apex-sharing-notes/#utm_source=rss&utm_medium=rss&utm_campaign=apex-sharing-notes