security core
v7.2.0
보안은 정교한 인증 시스템을 위한 인프라를 제공하므로 사용자 자격 증명을 보유한 소위 사용자 공급자로부터 실제 인증 논리를 쉽게 분리할 수 있습니다.
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 ();
}
Symfony 7.1의 보안 구성요소는 SymfonyCasts의 지원을 받습니다.
실제 프로젝트가 구축되는 모습을 지켜보고 함께 적극적으로 코딩하여 Symfony를 더 빠르게 배워보세요. SymfonyCasts는 이러한 학습 격차를 해소하여 비디오 튜토리얼과 코딩 과제를 제공합니다. 코드 온!
개발을 후원하여 Symfony를 도와주세요!