Previous


대부분의 웹/앱 서비스에서 로그인 기능은 당연하게 들어가는 기능이다.

근데 이러한 로그인 기능에는 고려할 부분이 생각보다 많다. 로그인 페이지에서 아이디와 비밀번호를 서버로 전송했을 때, 서버에서 로그인을 처리하는 로직의 위치도 파악해야 하고, 이렇게 한 번 로그인 한 뒤에는 이 로그인 상태가 유지가되야 한다. 그런데 어떻게 로그인 상태를 유지해야할까?

보통 이러한 로그인 상태는 쿠키 혹은 세션으로 관리를 하며 여기에 해당 키의 유효시간 관리를 통해 일정시간만 유지되도록도 할 수 있다.

스프링에서는 스프링 시큐리티라는 프레임워크로 로그인, 계층화, 리멤버미까지 다양한 기능을 제공하지만, 결국 이러한 스프링 시큐리티도 쿠키, 세션을 통해 관리하는 것이고 여러 리졸버를 이용한다.

그래서 이번 포스팅에서는 쿠키와 세션을 통해 로그인을 처리하는 과정과 이를 처리하기 위해 필터와 인터셉터에 대해 알아본다.

쿠키를 사용한 로그인 처리


서버에서 로그인 성공 시 쿠키를 담아 브라우저에 전달하면 브라우저는 해당 쿠키를 저장해두고

해당 사이트에 접속할 때마다 지속해서 해당하는 쿠키를 보내준다.

로그인시 쿠키 생성

로그인시 쿠키 생성

클라이언트에서 쿠키 전달

클라이언트에서 쿠키 전달

쿠키의 종류