-
Spring security - 1. Spring security에 대해Spring Security/security 2023. 11. 8. 13:45728x90
- 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'Spring Security > security' 카테고리의 다른 글
Spring security - 4. 중복 로그인 로그아웃 시키기 (0) 2023.11.17 Spring security - 3. Security설정한 거 끝까지 파보기 (0) 2023.11.08 Spring security - 2. UserDetailsService를 사용하여 로그인 구현 (0) 2023.11.08 - Spring security