1. Spring Security
- Spring기반 Application의 보안(인증과 권한)을 담당하는 FrameWork임
- 보안과 관련하여 체계적으로 많은 Option을 지원함
- Filter기반으로 동작하기 때문에 Spring MVC와 분리되어 관리 및 동작함
2. Spring Security 용어 정리
- Principal(접근 주체) - 보호된 대상에 접근하는 Client
- Authentication(인증) - 현재 유저가 누구인지 확인 / Application의 작업을 수행할 수 있는 주체임을 증명하는 과정임
- Authorize(인가) - 현재 유저가 어떤 Service, Page에 접근할 수 있는지 권한을 부여 받았는지를 검사함
- Authorization(권한) - 인증된 주체가 Application의 동작을 수행할 수 있도록 허락되있는지를 결정함
3. Spring Security 구조
-
Image로 대처

4. HttpSecurity 사용법 & 용어정리
- authorizeRequests : 요청에 대한 권한을 지정함
- anyRequest : 요청할거란 의미임
- anonymous : 인증이 되지 않은 사용자도 접근할 수 있음
- fullyAuthenticated : 완전히 인증된 사용자만 접근 가능함
- hasRole, hasAnyRole : 특정 권한을 가지는 사용자만 접근 가능함
- hasAuthority, hasAnyAuthority : 특정 권한을 가지는 사용자만 접근 가능함
- hasIpAddress : 특정 IP Address를 가지는 사용자만 접근 가능함
- access : SpEL? 표현식에 의한 결과에 따라 접근 가능함