분류 전체보기
-
Spring Security의 인증을 커스텀 해보자.(3) - AuthenticationProvider, AuthenticationMangerSpring Security 2023. 5. 20. 21:49
이번 포스팅에서는 AuthenticationProvider의 구현 및 AuthenticationManger에 AuthenticationProvider을 등록하는 과정을 살펴볼 것이다. 1. AuthenticationProvider AuthenticationFiter로부터 Authentication을 전달받아 실제 인증을 담당한다. AuthenticationProvider는 인증 처리를 위한 함수를 정의한 Interface이다. 우리는 해당 Inferface를 상속받아 우리의 Authentication 인증 처리를 위한 HmacAuthenticationProvider과 JwtAuthenticationProvider를 구현하였다. public interface AuthenticationProvider { /..
-
Spring Security의 인증을 커스텀 해보자.(2) - AuthenticationFilter, AuthenticationSpring Security 2023. 4. 27. 16:41
이번 포스팅부터는 실제 우리 프로젝트에서 Spring Security를 어떻게 커스텀했는지 살펴볼 것이다. 이전 시간에 잠깐 언급한 우리 프로젝트의 인증 요구사항에 대해서 다시 한번 살펴 보자. 프로젝트 요구 사항하나의 프로젝트 내 2개의 인증을 포함한다.Server에서 접속을 할 때는 Client-Id, Client-Secret를 이용한 Hmac 기반으로 인증을 처리한다.FrontEnd에서 접속할 때는 JWT 토큰 기반으로 인증을 처리한다. 우리 프로젝트는 대기열 서비스로 커머스 서비스와 같은 고객에게 줄 서기 기능을 제공한다. 고객이 우리 서버에 접속을 할 때, 고객의 FrontEnd에서 접근하는 것과 고객의 Server에서 접근하는 것을 고려해야 했다. 그리고 그 두 가지의 인증 방식은 보안과 ..
-
Spring Security의 인증을 커스텀 해보자.(1) - Spring Security 개요Spring Security 2023. 4. 25. 23:19
이번 포스팅은 프로젝트에서 사용자 인증을 위해 Spring Security를 자세히 공부할 필요가 있어 정리한 내용이다. 프로젝트 요구 사항 하나의 프로젝트 내 2개의 인증을 포함한다. Server에서 접속을 할 때는 Client-Id, Client-Secret를 이용한 Hmac 기반으로 인증을 처리한다. FrontEnd에서 접속할 때는 JWT 토큰 기반으로 인증을 처리한다. 요구 사항을 구현하기 전 Spring Security의 기본 필터를 먼저 살펴보자. 아래의 그림은 클라이언트로부터 Form형식의 Id/Password를 받아 인증을 처리하는 UsernamePasswordAuthenticationFilter이다. 1. HTTP Request 클라이언트가 form 형식의 Id/Password를 입력하여..