Spring Security/security
Spring security - 1. Spring security에 대해
Ssemi-Column
2023. 11. 8. 13:45
728x90
- Spring security
- Spring에서 어플리케이션의 인증과 인가를 담당하는 Spring의 하위 보안 프레임 워크.
- Spring security에서 인증과 인가는 서블릿컨테이너 안에서 DispatchServlet으로 가기전에 filter chain에서 동작.
출처 : https://velog.io/@seongwon97/Spring-Security-Filter%EB%9E%80 - filter chain은 Security 설정으로 사용자가 addFilter() 라는 메소드를 통해 설정 할 수 있다.
- 인증과 인가
- 인증(Authentication)
- 인증은 우리 서버에 맞는 사용자인지 확인하는 절차.
- ID, PW로 확인하거나 OAuth라는 개방형 인증 절차를 통해 확인함.
- 인증된 사용자는 등록된 정보에 맞게 권한을 부여받음. (User, Admin 등)
- 인가(Authorization)
- 인증된 사용자에 대한 권한을 확인하고 어떠한 서비스를 사용 할 수 있는지 확인하는 절차.
- 인증(Authentication)
- Spring security filter
- Spring 6 미만 버전에서는 WebSecurityConfigurationAdapter를 상속받아 만든 Configuration class에 오버라이드로 전달받은 HttpSecurity를 가지고 filter들을 설정한다.
출처 : https://gngsn.tistory.com/160 - DelegatingFilterProxy에서 사용자의 인증요청을 받아 FilterChainProxy에 보내고 FilterChainProxy는 HttpSecurity 에서 설정한 url path에 대한 각각의 filter 설정들을 통해 해당 사용자를 인증한다.
- FilterSecurityInterceptor는 인증받은 사용자가 자원을 사용 할 때 인가에 대한 처리를 한다.
- 각 필터들에 대한 순서는 https://gngsn.tistory.com/160 에 잘 적혀있다. (공부..)
- Spring 6버전 부터는 WebSecurityConfigurationAdapter를 상속받아 Override 하지 않고, 빈으로 SecurityFilterChain 을 구현하여 등록하는 것으로 바뀌었다. ( WebSecurityConfigurationAdapter 없어짐)
- Spring 6 미만 버전에서는 WebSecurityConfigurationAdapter를 상속받아 만든 Configuration class에 오버라이드로 전달받은 HttpSecurity를 가지고 filter들을 설정한다.
- 사용방법이 크게 달라지긴 했지만 내부 구현 코드는 비슷하여 그나마 최신버전인 Spring 6 이상버전으로 코딩할 예정
728x90
반응형
LIST