security core
v7.2.0
La sécurité fournit une infrastructure pour les systèmes d'autorisation sophistiqués, ce qui permet de séparer facilement la logique d'autorisation réelle des fournisseurs d'utilisateurs qui détiennent les informations d'identification des utilisateurs.
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 ();
}
Le composant de sécurité pour Symfony 7.1 est soutenu par SymfonyCasts.
Apprenez Symfony plus rapidement en regardant de vrais projets en cours de construction et en codant activement avec eux. SymfonyCasts comble ce fossé d'apprentissage en vous proposant des didacticiels vidéo et des défis de codage. Codez !
Aidez Symfony en sponsorisant son développement !