-
2021.10.12 기록장TIL 2021. 10. 12. 21:36
ToDo
- 스프링 시큐리티
Done
- 스프링 시큐리티
Weekly goal
- 책 읽기
- 영어 레퍼런스 읽기
- 회고
스프링 시큐리티
메서드 방식의 인증 처리
4개의 어노테이션이 존재함
@PreAuthorize , @PostAuthorize
( PrePostAnnotationSecurityMetadataSource 가 담당 )
@Secured, @RolesAllowed
( ~~~ MetadataSource가 담당 )
위의 2개는 SpEL을 지원함
모두 @EnableGlovalMethodSecurity(prePostEnabled = true, securedEnable = true)
해야 사용 가능 , 기본은 false임
메서드 보안 관련 class인 GlobalMethodSecurityConfiguration에서 설정을 확인하고 있다.
위의 예제는 user권한과 주어진 Dto의 유저 네임이 현재 로그인한 유저 네임과 일치해야 실행된다.
어노테이션에 붙은 애들은 초기화되면서 ~~ MetadataSource들에 의해 파라미터 부분이 저장된다.
후에 리스트로 관리되어 AbstractSecurityIntercepter에서 인가 검사할 때 사용된다.
PrePostAnnotationSecurityMetadataSource PrePostAnnotationSecurityMetadataSource에서 어노테이션 정보를 뽑는 모습
'TIL' 카테고리의 다른 글
2021.10.14 기록장 (0) 2021.10.14 2021.10.13 기록장 (0) 2021.10.13 2021.10.10 기록장 (0) 2021.10.08 2021.10.06 기록장 (0) 2021.10.06 2021.10.03 기록장 (0) 2021.10.02