Nuevo en Symfony 3.4: Mejoras en los "security listeners"

En las aplicaciones Symfony, los security listeners se utilizan en los firewalls para gestionar los mecanismos de seguridad configurados, tales como la funcionalidad de Mantenerme logueado y la Impersonación de usuarios.

Algunos de estos listeners tienen una lógica muy compleja y requieren muchas dependencias (por ejemplo, el constructor del listener para impersonar usuarios tiene nueve argumentos). Los firewall iteran por todos los listeners configurados hasta que alguno devuelve un objeto de tipo Response. En la práctica esto significa que la mayoría de listeners nunca llegan a ejecutarse, a pesar de haber instanciado sus clases.

En Symfony 3.4 hemos mejorado los security listeners para instanciarlos bajo demanda. Así que si un listener no se utiliza, nunca se instanciará y el rendimiento de la aplicación mejorará ligeramente. Lo mejor es que no tienes que hacer ningún cambio en tu aplicación. Cuando actualices a Symfony 3.4, esta mejora se aplicará automáticamente.

Información sobre los listeners en el Profiler

En Symfony 3.1, mejoramos el panel de seguridad del profiler para mostrar los voters configurados y todos los detalles sobre las decisiones relativas a la seguridad. En Symfony 3.4 hemos vuelto a mejorar este panel para mostrar más información sobre los listeners:

En concreto, el nuevo panel muestra todos los listeners ejecutados, el tiempo consumido por cada uno de ellos y los valores devueltos.

Estas funcionalidades fueron añadidas por Robin Chalas en los Pull Requests #23114 y #23105.

Fuente: New in Symfony 3.4: Improved security listeners

Comentarios

Publicada el

12 de septiembre de 2017

Etiquetas

Proyectos Symfony destacados

La plataforma de eCommerce 100% Symfony que rivaliza con Magento y PrestaShop. Ver más

Síguenos en @symfony_es para acceder a las últimas noticias.