스프링 기초_Security

bitna's study note·2022년 7월 21일

스프링

목록 보기
23/54

7월 21일

프로젝트에 관리자/회원에 따라 사용하는 화면이 다르게 진행 되야 하므로
오늘 부터 개인적으로 Security 부분을 조금씩 공부할 예정

1.스프링 Security
스프링 시큐리티는 스프링 기반의 애플리케이션의 보안(인증과 권한, 인가 등)을 담당하는 스프링 하위 프레임워크.
즉 인증(Authenticate, 누구인지?) 과 인가(Authorize, 어떤것을 할 수 있는지?)를 담당하는 프레임워크 임.

스프링 시큐리티의 기본 동작 방식은 서블릿의 여러 종류의 필터와 인터셉터를 이용하여 처리된다.
여기서 인터셉터란? 스프링에서 필터와 유사한 역할을 함.

필터와 인터셉터는 특정한 서블릿이나 컨트롤러의 접근에 관여한다는 점에서는 유사하지만 결정적인 차이를 구분하자면
필터는 스프링과 무관하게 서블릿 자원이고, 인터셉터는 스프링의 빈으로 관리되면서 스프링의 컨텍스트내에 속한다는 차이가 있다.

왼쪽그림은 일반 필터로 현재 실행되는 서블릿의 컨테스트에 속하긴 하지만 스프링과 무관하지만,
반면에 인터셉트의 경우에는 스프링의 내부에서 컨트롤러를 호출할때 관여하기 때문에 스프링의 컨텍스트 내에 있는 모든 자원을 활용할 수 있다.

스프링 Security를 이용하게 되면 위와 같이 인터셉트와 필터를 이용하면서 별도의 컨텍스트를 생성해서 처리 됨
하나의 스프링 MVC프로젝트에 스프링 시큐리티가 적용 된다면 다음과 같음.

스프링 시큐리티는 현재 동작하는 스프링 컨텍스트 내에서 동작하기 때문에 이미 컨텍스트에 포함된 여러 빈들을 같이 이용해서 다양한 방식의 인증처리가 가능하도록 설계할수 있다.

profile
좋은개발자가 되기위한 삽질기록 노트

0개의 댓글