본문 바로가기

전체 글64

Spring Security + JWT를 이용한 로그인/회원가입 구현 JWT (Json Web Token) 이란? JWT는 웹 애플리케이션에서 사용자 인증 및 정보 교환을 위한 토큰 기반 인증 방식입니다. JWT는 토큰 자체에 사용자의 클레임(claim)정보를 포함하고 있으며, 이를 통해 서버간의 신뢰성 있는 정보 교환을 가능하게 합니다. 서버의 상태를 유지하지 않고도(Stateless) 토큰을 사용하여 인증을 처리할 수 있습니다. 토큰을 사용하여 클라이언트와 서버간 인증을 할 수 있습니다. Claim 이란? 클레임이란 사용자 정보나 데이터속성등을 의미한다. 클레임 기반 토큰은 토큰안에 정보를 담을 수 있는 특징이 있다. 클레임 기반 토큰은 아래예시와 같이 정보를 담고 있다. jwt는 클레임토큰중 가장 대표적인 것이다. payload에서는 claim이라는 property를.. 2024. 1. 19.
기본형(Primitive) vs 참조형(Reference) vs 래퍼 클래스(Wrapper Class) 참조형 (Reference Type) VS 기본형 (Primitive Type) • 자료형은 크게 '기본형'과 '참조형'으로 나뉜다. • 기본형(Primitive Type) : 계산을 위한 실제값을 저장한다. → 논리형(boolean), 문자형(char), 정수형(byte, short, int, long), 실수형(float, double) • 참조형(reference type) : 객체의 주소를 저장한다. → 8개의 기본형을 제외한 나머지 타입들 래퍼 클래스(Wrapper Class)란? • 기본형 데이터 타입(primitive type)을 객체로 변환한 클래스 • wrapper 클래스를 시용하면 기본형(primitive) 값을 객체로 다룰 수 있다. 래퍼 클래스(Wrapper Class) 사용 이유?.. 2024. 1. 19.
RequstBody / ResponseBody @RequestBody와 @ModelAttribute는 클라이언트 측에서 보낸 값을 오브젝트 형태로 매핑해줘서 사용할 수 있도록 제공하는 공통점이 있다. 하지만, 두 에노테이션은 큰 차이가 있기 때문에 특징 및 차이점에 대해서 살펴보자. 1. RequstBody @RequestBody 어노테이션은 HttpRequest의 본문 requestBody의 내용을 자바 객체로 매핑하는 역할을 합니다. 해당하는 어노테이션이 붙어있는 메서드로 클라이언트의 요청이 들어왔을 때, DispatcherServlet에서는 먼저 해당 HttpRequest의 미디어 타입을 확인하고, 타입에 맞는 MessageConverter를 통해 요청 본문인 requestBody를 통째로 변환해서 메서드로 전달해주게 됩니다. 이때 주의할 점으.. 2024. 1. 16.
ddl-auto 옵션, 정확히 알고 사용하자 내가 JPA에 대해서 익숙하지 않을 때, DB인 MySQL과 연동하려고 하면 테이블과 관련된 오류들이 많았다. 그래서 이를 위해 어려움을 겪을 모든 개발자들을 위해 조금이나마 도움이 됐으면 하는 마음에서 이 글을 쓰게 됐다. ddl-auto 옵션 종류 create: 애플리케이션 빌드 시, 기존테이블 삭제 후 다시 생성 (DROP + CREATE) create-drop: create와 같으나 종료시점에 테이블 DROP update: 변경분만 반영 (운영DB에서는 사용하면 안됨) validate: 엔티티와 테이블이 정상 매핑되었는지만 확인 none: 사용하지 않음(사실상 없는 값이지만 관례상 none이라고 한다. 주의할 점 운영 장비에서는 절대 crate, create-drop, update 사용하면 안된다.. 2024. 1. 15.