Skip to content

Modificadores de acceso seguros a Apex para la actualización de seguridad de Summer '21 ☁️

Esta es una traducción que desde EGA Futura ofrecemos como cortesía a toda la Ohana y comunidad de programadores , consultores , administradores y arquitectos de Salesforce para toda Iberoamérica .

El enlace a la publicación original, lo encontrarás al final de este artículo.

En la versión Summer '21, una actualización de seguridad obligatoria aplicará modificadores de acceso en las propiedades de Apex en el marcado de componentes Lightning. En esta publicación, compartiremos lo que implica la actualización de seguridad y presentaremos una herramienta que lo ayuda a detectar las propiedades de Apex que están potencialmente afectadas.

Acerca de la actualización de seguridad

Debido a que la confianza es nuestro valor número uno, y debido a que parte de la confianza es saber que mantenemos altos estándares de seguridad, esta actualización de seguridad es obligatoria a partir del 12 de junio. La actualización impide el acceso a captadores Apex privados o protegidos de Aura y Lightning Web Components. Echemos un vistazo a dos ejemplos que ilustran el impacto de la actualización.

Ejemplo 1

En este primer ejemplo, tenemos un controlador Apex Example1 counter que tiene un captador privado. El controlador expone un getData() anotado con @AuraEnabled . El método devuelve una instancia de Example1 a los componentes Lightning.

 clase pública Example1 { @AuraEnabled contador de enteros públicos {obtención privada; colocar; } @AuraEnabled public static Example1 getData () { Resultado de Example1 = nuevo Example1 (); result.counter = 2; devolver resultado; }
}

Una vez que se aplica la actualización de seguridad, los componentes web Aura o Lightning que llaman a Example1.getData() ya no tendrán acceso al counter y eso puede causar errores en tiempo de ejecución.

Ejemplo 2

En este otro ejemplo, tenemos un Example2 que busca registros y los devuelve envueltos en una instancia de objeto PagedResult

 clase pública Example2 { @AuraEnabled public static PagedResult getRecords () { Resultados de PagedResult = new PagedResult (); results.records = [...]; devolver resultados; } clase privada PagedResult { @AuraEnabled Objeto público [] registros {protegido get; colocar; } }
}

Con la actualización de seguridad aplicada, los componentes Lightning ya no tienen acceso a la PagedResult.records porque el captador está protegido.

Si bien estos dos ejemplos pueden parecer poco comunes, querrá inspeccionar sus controladores Apex en busca de patrones similares para que no experimente errores de tiempo de ejecución después de que se aplique la actualización de seguridad. Encontrar esos patrones en una base de código grande no es trivial, por lo que hemos contribuido con una herramienta auxiliar para ese propósito.

Escaneo de propiedades de Apex afectadas

En lugar de inspeccionar todos sus controladores Apex uno por uno, compartimos una herramienta basada en el servidor de idiomas Apex que escanea su código base e informa las propiedades de Apex potencialmente afectadas. Salesforce no admite oficialmente esta herramienta y se proporciona tal cual sin ninguna garantía, pero es probable que le ahorre un tiempo valioso.

Todo lo que necesita para usar la herramienta es un Java JDK o JRE versión 11 o superior (esto ya es necesario para ejecutar VS Code). Luego, simplemente descargue el archivo JAR del repositorio del proyecto y ejecute el siguiente comando en una terminal donde PATH es la ruta de un directorio principal que contiene archivos .cls

 $> java -jar apex-scan-1.2.0.jar RUTA

Por ejemplo, así es como puede escanear todo su directorio force-app

 $> java -jar apex-scan-1.2.0.jar force-app
EnforcePrivateGetter.counter
EnforcePrivateGetter.PagedResult.pageSize Escaneó 1 archivo Apex y encontró 2 coincidencias potenciales.

En este ejemplo, el analizador encontró un archivo Apex que contiene dos propiedades que pueden verse afectadas por la actualización de seguridad. Gracias a la salida del programa, puede ver el nombre completo de las propiedades y tomar las acciones apropiadas si es necesario (eliminar los modificadores privados o protegidos).

Debido a que el cambio introducido por la actualización de seguridad podría afectar en última instancia a su producción, debe descargar la herramienta de escaneo y verificar su código hoy en preparación para el lanzamiento de Summer '21 el 12 de junio y la activación de la actualización de seguridad obligatoria.

Repositorio de herramientas auxiliares

Sobre el Autor

Philippe Ozil es un promotor principal de desarrolladores en Salesforce, donde se centra en la plataforma Salesforce. Escribe contenido técnico y habla con frecuencia en conferencias. Es un desarrollador de pila completa y disfruta trabajar en proyectos de DevOps, robótica y realidad virtual. Síguelo en Twitter @PhilippeOzil o revisa sus proyectos de GitHub @pozil .

Esta es una traducción realizada por EGA Futura, y este es el link a la publicación original: https://developer.salesforce.com/blogs/2021/06/secure-apex-access-modifiers-for-summer-21-security-update.html

Últimas novedades 
de EGA Futura
1954
Desde hace más de 25 años potenciamos a las Empresas de Iberoamérica
🎬 Video de EGA Futura » Conceptos de Seguridad (EGA Futura ERP / Salesforce)

🎬 Video de EGA Futura » Conceptos de Seguridad (EGA Futura ERP / Salesforce)

🎬 Video de Juan Manuel Garrido » Claves para tu Productividad diaria 🙌✅

🎬 Video de EGA Futura » Facturación Electrónica en Uruguay » Conceptos básicos con EGA Futura Windows

🎬 Video de EGA Futura » Facturación Electrónica en Uruguay » Configuración de EGA Futura Windows

🎬 Video de EGA Futura » Facturación Electrónica en Uruguay » Funcionamiento con EGA Futura Windows

🎬 Video de EGA Futura » Configuración de la Plataforma EGA Futura

🎬 Video de EGA Futura » Configuración de usuario en EGA Futura

🎬 Video de EGA Futura » Como automatizar la publicación en Redes Sociales?

🎬 Video de Juan Manuel Garrido » Cómo restaurar la configuración de fábrica de EGA Futura Windows sin perder la información

🎬 Video de Juan Manuel Garrido » Factura electrónica: Prueba de Factura Electronica previa a la activacion

🎬 Video de EGA Futura » Como se registran los Beneficios de cada Empleado en la base de datos de EGA Futura

🎬 Video de EGA Futura » EGA Futura Time Clock » Reloj de Control horario y asistencia

🎬 Video de EGA Futura » Como registrar Observaciones en un Empleado dentro de EGA Futura People?

🎬 Video de EGA Futura » Cómo registrar la Educación de cada Empleado en EGA Futura People?

🎬 Video de EGA Futura » Como hacer la Desvinculación de un Empleado? (Offboarding)

🎬 Video de EGA Futura » Como registrar Habilidades o Skills de empleados dentro de EGA Futura

🎬 Video de EGA Futura » Como hacer el Onboarding o Proceso de Incorporación de un Empleado?

🎬 Video de EGA Futura » Cómo administrar Turno de trabajo dentro de EGA Futura

🎬 Video de EGA Futura » Que es un Ticket interno dentro de la Plataforma EGA Futura

🎬 Video de EGA Futura » Que son los Entrenamientos de Empleado en EGA Futura people?

🎬 Video de EGA Futura » Qué son los Epics dentro de EGA Futura

🎬 Video de EGA Futura » Qué es EGA Futura People?

🎬 Video de EGA Futura » EGA Futura People » Asistencias

🎬 Video de EGA Futura » Soporte EGA Futura » Software de Gestión Windows vs Software de Gestión Nube 🤩

🎬 Video de EGA Futura » ツ Comparando un Objeto con un Fichero

Modificadores de acceso seguros a Apex para la actualización de seguridad de Summer '21 ☁️
Modificadores de acceso seguros a Apex para la actualización de seguridad de Summer '21 ☁️