security core
v7.2.0
Keamanan menyediakan infrastruktur untuk sistem otorisasi yang canggih, yang memungkinkan untuk dengan mudah memisahkan logika otorisasi sebenarnya dari penyedia pengguna yang menyimpan kredensial pengguna.
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 ();
}
Komponen Keamanan untuk Symfony 7.1 didukung oleh SymfonyCasts.
Pelajari Symfony lebih cepat dengan melihat proyek nyata yang sedang dibangun dan secara aktif membuat kode bersama proyek tersebut. SymfonyCasts menjembatani kesenjangan pembelajaran tersebut, memberikan Anda tutorial video dan tantangan pengkodean. Kode aktif!
Bantu Symfony dengan mensponsori pengembangannya!