ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Spring security - 1. Spring security에 대해
    Spring Security/security 2023. 11. 8. 13:45
    728x90
    1. Spring security
      • Spring에서 어플리케이션의 인증과 인가를 담당하는 Spring의 하위 보안 프레임 워크.
      • Spring security에서 인증과 인가는 서블릿컨테이너 안에서 DispatchServlet으로 가기전에 filter chain에서 동작.
        출처 : https://velog.io/@seongwon97/Spring-Security-Filter%EB%9E%80
      • filter chain은 Security 설정으로 사용자가 addFilter() 라는 메소드를 통해 설정 할 수 있다.
    2. 인증과 인가
      • 인증(Authentication)
        • 인증은 우리 서버에 맞는 사용자인지 확인하는 절차.
        • ID, PW로 확인하거나 OAuth라는 개방형 인증 절차를 통해 확인함.
        • 인증된 사용자는 등록된 정보에 맞게 권한을 부여받음. (User, Admin 등)
      • 인가(Authorization)
        • 인증된 사용자에 대한 권한을 확인하고 어떠한 서비스를 사용 할 수 있는지 확인하는 절차.
    3. 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 이상버전으로 코딩할 예정

    728x90
    반응형
    LIST

    댓글

Designed by Tistory.