GrantedAuthority
사용자에게 권한에 대한 역할과 범위를 부여
Authentication.getAuthorities() 매소드로 얻으며,
GrantedAuthority 객체의 모음을 제공
인증은 당연하게 자기자신에게 부여되고,
권한은 ROLE_ADMINISTRATOR나 ROLE_HR_SUPERVISOR와 같은 역할이다.
역할들은 웹 · 메소드 권한, 도메인 객체 권한을 위해 추후 설정됨
!! Spring Security의 다른 해석은 권한과 존재를 예상.
사용자 명/비밀번호를 기반 인증으로 사용할때,
일반적으로 UserDetailService로 로드한다.
보통 GrantedAuthority 객체들은 응용프로그램 전반에 인가되고,
도메인 객체로 특정하지 않는다.
따라서, 특정 객체 x의 권한에 표현으로
GrantedAuthority가 없을 수 있다.
왜냐하면 천개의 권한들로 메모리 부족이 빠르게 실행된다.
(또는, 응용프로그램이 사용자 인증에 오랜 시간이 걸린다.)
물론, Spring Security는
일반적 요구사항 처리를 명시적으로 설계되었지만
프로젝트의 도메인 객체 보안 기능을 사용해야한다.
AuthenticationManager
Spring Security의 Filter가 인증을 수행하는 방법을 정의하는 API이다.
반환된 인증은 AuthenticationManager를 호출한 Controller로 ecurityContextHolder에 설정
Spring Security의 Filter요소와 통합하지 않으면, SecurityContextHolder를 직접 설정하고,
AuthenticationManager에 사용하지 않아도 된다.
AuthenticationManger의 구현은 어느 것도 가능하지만,
대부분 ProviderManager로 구현한다.
'IT Study > SpringBoot' 카테고리의 다른 글
| Spring DB Setting (3) | 2025.07.24 |
|---|---|
| Spring Security 인증 구조 - 3 (2) | 2025.07.12 |
| Servlet 인증 구조 (2) | 2025.06.14 |
| Spring Security(4) (1) | 2025.05.09 |
| Spring Security(3) (0) | 2025.04.26 |