전체 글

건강한 개발이 되도록!!
항해 플러스 6기 프레임워크 사전 스터디에서 개별적으로 진행하는 API를 개발하고 있다.실행 환경SpringBoot 3.3.xJava 21 Member가 로그인(SignIn)할 때 Spring Security를 사용해서 인증을 해보기로 했다.우선 Spring Security가 간단하게 무엇인지 알아보고, 아키텍처로 동작 과정을 살펴본 후로그인 인증 구조도 아키텍처로 동작 과정 살펴보자.그다음에는 구현을 해보고, 시행착오 및 해결에 대해 써보자.우선 Spring Security로 로그인을 어떤 패키지에 구현할지를 고민했다.Member가 로그인하니까 member 패키지에 넣을까? 아니면 Spring Security를 사용하니까 인증 관점에서 auth 패키지에 넣을까?전자로 해보고, 후자로 바꿔보고 고민하다가..
항해 플러스 6기 프레임워크 사전 스터디에서 개별적으로 진행하는 API를 개발하고 있다.실행 환경SpringBoot 3.3.xJava 21 Member가 로그인(SignIn)할 때 Spring Security를 사용해서 인증을 해보기로 했다.우선 Spring Security가 간단하게 무엇인지 알아보고, 아키텍처로 동작 과정을 살펴본 후로그인 인증 구조도 아키텍처로 동작 과정 살펴보자.그 다음에는 구현을 해보고, 시행착오 및 해결에 대해 써보자. Spring Security Login Authentication Architecture이전 글의 마지막 그림인 Spring Security Full Architecture flow에 연결 지어서 보자.위 그림처럼 Authentication은 Filter에 의해..
항해 플러스 6기 프레임워크 사전 스터디에서 개별적으로 진행하는 API를 개발하고 있다.실행 환경SpringBoot 3.3.xJava 21 Member가 로그인(SignIn)할 때 Spring Security를 사용해서 인증을 해보기로 했다.우선 Spring Security가 간단하게 무엇인지 알아보고, 아키텍처로 동작 과정을 살펴본 후로그인 인증 구조도 아키텍처로 동작 과정 살펴보자. 그 다음에는 구현을 해보고, 시행착오 및 해결에 대해 써보자. Spring SecurityWikipedia를 보면 Spring Security는 Java 애플리케이션에 인증, 권한 부여 및 기타 보안 기능을 제공하는 프레임워크다.여기서 인증, 인가(권한 부여)에 대해 살펴보고 가자.인증(Authentication), 인가..
항해 플러스 6기 프레임워크 사전 스터디에서 개별적으로 진행하는 API를 개발하고 있다.실행 환경SpringBoot 3.3.xJava 21 ProductController에서 `@RequestMapping("/api")` 처럼 사용 중이었는데지난주에 다른 팀원들의 코드를 보고 공통으로 컨트롤러를 추상화해서 상속받아 사용하면 좋을 것 같았다. 그럼 공통 API를 상속받으면 왜 좋을까?일단 "/api"처럼 공통된 api는 더 이상 중복해서 작성하지 않아도 된다. 확장성을 고려해서 생각해 보자. 지금은 V1이지만 나중에 V2가 추가된다면?지금은 "/api/v1"을 사용 중인데, 추가되는 API에는 "/api/v2"처럼 엔드포인트를 다르게 한 컨트롤러를 상속하면 된다.아래와 같이 엔드포인트의 접두사를 설정할 수..
문제 발생redis에 MemberRequestDto Object를 set 하는 과정에서 아래와 같은 오류가 발생했다.Java 8 date/time type 'java.time.LocalDate' not supported by default: add Module "com.fasterxml.jackson.datatype:jackson-datatype-jsr310" to enable handling 원인 분석에러 로그를 보면 Java 8에서는 'java.time.LocalDateTime 형식의 date/type 형식을 지원하지 않으니 "com.fasterxml.jackson.datatype:jackson-datatype-jsr310" 모듈을 추가하여 처리하라고 한다. 그런데 라이브러리를 확인해보니 이미 모듈을..
Yn3(인삼)
성장하는 인삼의 개발 블로그