Spring Security란?
- Spring 기반의 애플리케이션의 보안( 인증과 권한, 인가 등 )을 담당하는 Spring 하위 프레임워크
- "인증" 과 "권한" 을 분리하여 체크할 수 있도록 구조를 만들었다.
- "인증" 과 "권한" 에 대한 부분을 Filter의 흐름에 따라 처리한다.
- 보안과 관련해 체계적으로 많은 옵션을 제공한다.
- 일일이 보안 관련 로직을 작성하지 않아도 된다.
Filter(필터)란?
- HTTP 요청과 응답을 변경할 수 있는 재사용 가능한 코드 ( 클래스 )
- 객체의 형태로 존재하며, 클라이언트에서 오는 요청과 최종 자원 ( JSP, 서블릿, 기타 자원 ) 사이에 위치하여 클라이언트의 요청 정보를 알맞게 변경할 수 있다.
- 필터의 기본 구조
요청 → 필터 → 자원 → 필터 → 응답
- 요청과 응답의 내용을 변경 할 수 있다.
- 1개 이상의 필터 연동이 가능하다.
- 흐름을 변경하는 역할도 할 수 있다.
- 클라이언트의 요청을 필터체인의 다음 단계에 보내는 것이 아니라, 다른 자원의 결과를 클라이언트에 전송할 수도 있다. ( 이러한 기능은 사용자 인증이나 권한 체크와 같은 곳에서 사용 가능 )
반응형
댓글