필터(2)
-
로그인 처리 - 필터, 인터셉터(2)
로그인 처리 - 필터, 인터셉터(1) 에서 필터를 다루었다. 본 게시물에서는 인터셉터를 다룬다. 스프링 인터셉터도 서블릿 필터와 같이 웹과 관련된 공통 관심 사항을 효과적으로 해결할 수 있는 기술이다. 서블릿 필터가 서블릿이 제공하는 기술이라면, 스프링 인터셉터는 스프링 MVC가 제공하는 기술이다. 둘다 웹과 관련된 공통 관심 사항을 처리하지만, 적용되는 순서와 범위, 그리고 사용방법이 다르다. 하나씩 살펴보자! 인터셉터의 위치는 디스패처 서블릿과 컨트롤러 사이에 위치해있다. 앞서 배운 필터는 서블릿에서 전처리를 한다면, 인터셉터는 컨트롤러로 날아가는 요청을 낚아채 후딱딱 처리한다음 컨트롤러로 보내는(혹은 보내지 않는) 역할을 수행한다. HTTP 요청 -> WAS -> 필터 -> 서블릿 -> 스프링 인터..
2022.04.05 -
로그인 처리 - 필터, 인터셉터 (1)
로그인 처리 - 필터, 인터셉터 (1) 게시물은 필터를 다룹니다. 로그인 처리 - 필터, 인터셉터 (2)에서 인터셉터를 다루겠습니다. 필터 다음과 같은 상황이다. 내가 만든 웹사이트에 로그인 하지 않은 사용자는 회원가입, 홈 화면 외에는 접근을 막고싶다. 로그인 하지 않은 사용자가 url로 직접 호출하면 관리, 상세 페이지에 접근이 가능한 상황이다. 이를 막기위해서는 1. 모든 컨트롤러에서 로그인 여부를 체크하는 로직을 개발한다. 세션이 null이거나 session Attribute에서 id가 없으면 로그인 페이지로 쫓아내면 된다. 근데 이렇게 할 경우, 로그인 여부를 체크하는 로직이 변경된다면? 모든 컨트롤러를 다 뒤져가며 일일이 수정해야 한다. 심지어 몇몇 군데는 로그인 여부를 체크하는 로직이 누락될..
2022.04.05