분류 전체보기

    Spring Interceptor 개념 정리, 적용법

    📝 인터셉터란? 인터셉터(Interceptor)는 DispatcherServlet과 컨트롤러(Controller) 사이에서 요청(request)을 가로채는 역할을 수행합니다. 인터셉터를 사용하면 기존의 로직을 수정하지 않고 비즈니스 로직 전후에서 특정 기능을 수행할 수 있습니다. 인터셉터를 구현하기 위해서는 HandlerInterceptor를 사용합니다. 📝 HandlerInterceptor 구조 HandlerInterceptor의 전체적인 요청과 응답의 흐름은 아래 그림과 같습니다. 먼저 요청(Request)이 들어오게 되면 Filter를 거친 후에 DispatcherServlet으로 오게됩니다. 이후 DispatcherServlet에서는 HandlerMapping을 거쳐 어떤 Handler(Contr..

    OAuth 2.0 개념 정리

    본 글은 생활코딩님의 [WEB2 - OAuth 2.0] 강의를 바탕으로 작성되었습니다. WEB2 - OAuth 2.0 수업소개 사용자가 가입된 서비스의 API에 접근하기 위해서는 사용자로부터 권한을 위임 받아야 합니다. 이 때 사용자의 패스워드 없이도 권한을 위임 받을 수 있는 방법이 필요합니다. 이를 위 opentutorials.org 📝 OAuth 2.0이란? OAuth 2.0에 대해 본격적으로 알아보기 전에 먼저 한 가지 예를 들어보겠습니다. 우선 나의 서비스 opentutorials.org가 있다고 가정해봅시다(mine). 그리고 이 서비스를 사용하는 사용자가 있을 것입니다(User). 또 하나는 나의 서비스가 연동하려는 '그들의' 서비스가 있을 것입니다(Their). 예를 들면 Google, F..

    스프링 부트 Spring Security

    📝 스프링 시큐리티란? 스프링 시큐리티는 스프링 기반 애플리케이션의 보안(인증과 권한, 인가 등)을 담당하는 스프링 하위 프레임워크입니다. 주로 서블릿 필터와 이들로 구성된 필터체인으로의 위임모델을 사용하며, 보안과 관련하여 체계적으로 많은 옵션을 제공해주기 때문에 개발자 입장에서는 일일이 보안관련 로직을 작성하지 않아도 됩니다. 스프링 시큐리티를 접하기 전, 밑에 나열한 보안 용어들을 숙지해놓으면 도움이 될 것입니다. 접근 주체(Principal) : 보호된 리소스에 접근하는 대상 인증(Authentication) : 보호된 리소스에 접근한 대상(Principal)에 대해 이 사용자가 누구인지, 애플리케이션의 작업을 수행해도 되는 주체인지 등을 확인하는 과정 인가(Authorize) : 해당 리소스에 ..

    [스프링부트 게시판] 37. 비밀번호 찾기

    사용자가 비밀번호를 기억하지 못할 경우 이메일을 통해 임시 비밀번호를 보내주고 기존 비밀번호를 해당 임시 비밀번호로 변경하여 로그인 할 수 있도록 구현해보았습니다. 즉 임시 비밀번호가 발송되게 되면 기존 비밀번호로는 로그인 할 수 없습니다. 참고로 프로젝트에서 메일 발송을 하기 위해선 해당 포스팅에 작성된 내용 말고도 추가적으로 진행해야되는 과정이 있지만 핵심내용은 아니라고 생각하여 해당 부분은 생략하였습니다. 스프링부트 메일 전송에 대한 자세한 설명은 아래 링크에서 확인하실 수 있습니다. SpringBoot에서 SMTP를 활용한 메일 전송 구현하기 📝 SMTP란? 스프링에서는 SMTP Relay를 이용한 메일 전송 기능을 제공하고 있습니다. 여기서 SMTP는 Simple Mail Transfer Pro..