security core
v7.2.0
Sicherheit stellt eine Infrastruktur für anspruchsvolle Autorisierungssysteme bereit, die es ermöglicht, die eigentliche Autorisierungslogik einfach von sogenannten Benutzeranbietern zu trennen, die die Anmeldeinformationen des Benutzers speichern.
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 ();
}
Die Sicherheitskomponente für Symfony 7.1 wird von SymfonyCasts unterstützt.
Lernen Sie Symfony schneller, indem Sie die Entstehung realer Projekte beobachten und aktiv mitprogrammieren. SymfonyCasts schließt diese Lernlücke und bietet Ihnen Video-Tutorials und Programmierherausforderungen. Code an!
Helfen Sie Symfony, indem Sie seine Entwicklung sponsern!