security core
v7.2.0
La seguridad proporciona una infraestructura para sistemas de autorización sofisticados, lo que permite separar fácilmente la lógica de autorización real de los llamados proveedores de usuarios que poseen las credenciales de los usuarios.
composer require symfony/security-core
use Symfony Component Security Core Authentication AuthenticationTrustResolver ;
use Symfony Component Security Core Authentication Token UsernamePasswordToken ;
use Symfony Component Security Core Authorization AccessDecisionManager ;
use Symfony Component Security Core Authorization Voter AuthenticatedVoter ;
use Symfony Component Security Core Authorization Voter RoleVoter ;
use Symfony Component Security Core Authorization Voter RoleHierarchyVoter ;
use Symfony Component Security Core Exception AccessDeniedException ;
use Symfony Component Security Core Role RoleHierarchy ;
$ accessDecisionManager = new AccessDecisionManager ([
new AuthenticatedVoter ( new AuthenticationTrustResolver ()),
new RoleVoter (),
new RoleHierarchyVoter ( new RoleHierarchy ([
' ROLE_ADMIN ' => [ ' ROLE_USER ' ],
]))
]);
$ user = new App Entity User (...);
$ token = new UsernamePasswordToken ( $ user , ' main ' , $ user -> getRoles ());
if (! $ accessDecisionManager -> decide ( $ token , [ ' ROLE_ADMIN ' ])) {
throw new AccessDeniedException ();
}
El componente de seguridad para Symfony 7.1 está respaldado por SymfonyCasts.
Aprenda Symfony más rápido observando cómo se construyen proyectos reales y codificando activamente junto con ellos. SymfonyCasts cierra esa brecha de aprendizaje, ofreciéndote tutoriales en vídeo y desafíos de codificación. ¡Código activado!
¡Ayuda a Symfony patrocinando su desarrollo!