Spring Security - Spring Security Thymleaf Library Spring Security Thymleaf Library Thymeleaf를 사용하면 View 페이지에서 사용자의 인증 정보를 참조하고 싶은경우 Thymeleaf에서 제공하는 라이브러리를 하나 추가하면 간단하게 사용할 수 있다. 이는 Spring Security가 아닌 타임리프에서 제공하는 것이다. 의존성 추가 만약 스프링 부트를 사용중이라면 별다른 설정이 필요없다. 사용자의 인증 상태에 따른 출력하기 사용자의 인증 상태에 따라 특정한 버튼 등을 보여주고싶은 경우 다음과 같이 진행할 수 있다. index.html index.html의 수정된 내용은 다음과 같다. 1.만약 인증된 상태라면 인증객체에서 name값 (..
Spring Security - CustomFilter CustomFilter 지금까지 Spring Security가 제공하는 15개의 필터 및 Spring Security가 제공하는 Filter들을 추가 해서 사용하는 법을 알아보았다. 이번에는 Spring Security가 제공하지 않고 우리가 직접 생성한 Filter를 추가하는 방법을 살펴보도록 하자. CustomFilter의 구현은 여차 다른 Servlet필터들과 다르지 않다. Filter Interface를 사용해도 되고, GenericFilterBean 클래스를 상속받아 구현해도 된다. Filter interface를 사용하면 doFilter, init, destory 메서드를 모두 구현해야 한다. GenericFilterBean을 좀더 구현하..
Spring Security - RememberMeAuthenticationFilter RememberMeAuthenticationFilter 세션이 사라지거나 만료가 되더라도 쿠키 또는 DB를 사용하여 저장된 토큰 기반 인증을 지원하는 필터 RememberMe ? RememberMeAuthenticationFilter를 살펴보기 이전에 먼저 RememberMe 기능에 대해 간단히 알아보자. 보통 로그인시 로그인 저장하기 등 체크박스가 존재하는 페이지를 많이 봤을것이다. 그런 로그인 페이지는 명시적으로 로그아웃하거나 하지 않는이상 세션보다 긴 수명의 로그인이 유지된다. 쿠키나, 서버의 DB에 토큰이 저장되어있는 토큰 기반의 인증을 말한다. EditThisCookie RememberMe는 Cookie정보를..
Spring Security - FilterSecurityInterceptor FilterSecurityInterceptor Spring Security 에서 가장 마지막에 존재하는 필터 아키텍쳐를 살펴볼때 이미 디버깅을 통해 디테일하게 살펴보았다. AccessDecisionManager등을 사용해서 인증/인가 처리를 하는 필터이다. SpringSecurityFilterChain의 15개의 필터 중에서 Http Resource Security 처리를 담당하는 필터이다. Http Resource Security Config 우리가 기존에 설정해왔던 Resource관련 설정들이 바로 HttpResourceSecurityConfig이다. 이 설정은 AccessDecisionManager가 AccessDecis..