목록Spring/Security (3)
Hansel

이전에 썼던 동작 방식을 보면 순서는 다음과 같았다. 필터가 인증 요청을 가로챈다. Authentication은 자격 정보를 받고 AuthenticationManager에게 전달한다. manager는 적합한 provider를 찾고(supports) 그 provider의 authenticate 메서드를 호출한다. 그 후 userDetailsService에 유저 자격 정보로 검증을 한다(loadByUserName()). 검증이 완료 되면 Principal(UserDetail)을 반환한다. 그 Principal을 이용하여 Authentication 타입의 객체를 생성하고 그 객체를 가지고 세션을 생성한다. 이 과정을 코드로 살펴보자. 우선 기본적으로 디펜던시를 설정해줘야 한다. 필터 등록하기 WebSecuri..

스프링 시큐리티는 어떻게 적용할까? 스프링 시큐리티는 특정 라이브러리를 추가하거나 Api를 호출하는 것이 아니다. Spring Security Starter Dependency를 추가만 해주면 스프링 시큐리티가 알아서 모든 요청들에 대한 Intercepting을 하기 시작한다. 이 작업은 Filter를 통해 이루어진다. Filter 필터는 단순한 서블릿 애플리케이션의 클래스인데 이 필터는 요청들을 인터셉트 할 수 있도록 해준다. 필터의 정의는 다음과 같다. Servlet Filters are Java classes that can be used in Servlet Programming for the following purposes − To intercept requests from a client be..

https://youtu.be/I0poT4UxFxE 현재 하는 프로젝트는 하다 단순 세션을 이용한 로그인을 지원하는데 이런 간단한 방식 보다는 스프링에서 지원해주는 더 좋은 기능을 최대한 활용해보고자 스프링 시큐리티를 적용하기로 했다. 어떤 기능을 사용하고 확장하기 위해서는 그 구조를 잘 알아야한다. 우선 스프링 시큐리티와 관련된 중요 단어를 먼저 정리하자. Authentication = Prove who you are 일반적인 웹사이트는 단순히 보기만 하는 것은 로그인을 필요로 하지 않지만 글을 쓰거나 특정한 무언가를 하려면 로그인을 해야한다. 그 로그인을 통해 내가 누구인지 증명하는 과정이 Authentication 이라고 할 수 있다. Authorization = Can this user do th..