Backend/기능 구현

Backend/기능 구현

Spring Security JWT - 4. 로그인 세팅

개요 로그인 로직은 다음과 같습니다. 1. /login으로 username, password를 받아서 POST요청이 들어옵니다. 2. UsernamePasswordAuthenticationFilter를 통해 로그인 요청을 받습니다. 사용자가 제공한 사용자 이름 및 비밀번호로부터 Authentication 객체를 생성하고, 이를 통해 AuthenticationManager로 전달합니다. 3. AthenticationManager에서는, UsernamePasswordAuthenticationFilter로부터 전달된 Authentication 객체를 처리하고, 실제로 사용자를 인증합니다. 4. UserDetailsService에서는 loadUserByUsername 메서드를 구현하여 사용자 이름을 기반으로 사..

Backend/기능 구현

Spring Security JWT - 2. 프로젝트 생성 및 기본세팅

개요 이번에는 JWT토큰을 기반으로 회원가입, 로그인을 구현해보기 위해서 환경세팅, 프로젝트 생성을 해보겠습니다. 회원가입 내부 회원가입 로직은 세션방식과 차이가 없습니다. POST요청으로 받아서 내부적으로 요청받아서 서비스에서 처리하고 entity에서 저장합니다. 로그인 로그인 요청을 받은 후 세션 방식은 서버 세션이 유저정보를 저장하지만, JWT방식은 토큰을 생성하여 응답 합니다. UserAuthenticationFilter(회원검증로직),AuthenticationManager(내부 아이디,비번던져서 로그인검증), JWT는 세션에 회원정보를 남지기 않고 SuccessfulAuthentication라는 메서드에서 토큰을 만들어서 응답으로 보내줄 것 입니다. 개발 환경 Spring boot 3.2.1 S..

Backend/기능 구현

Spring Security JWT - 1. 개념 및 동작 방식

개념 및 동작 JWT(JSON Web Token) JWT는 JSON Web Token의 약자로, 클레임 토큰 기반의 인증 방식이다. 클라이언트의 상태를 세션에 저장하는 세션방식이 아닌, 필요한 정보를 토큰(Token)에 저장해서 증명서처럼 사용한다. 클레임 토큰 기반이라는 뜻은, Claim = 사용자에 대한 property, 정보로, 토큰 자체가 정보인 방식이다. 동작방식 JWT토큰은 위처럼 동작을 한다. 1. 유저가 로그인을 한다. 2. 서버는 로그인 후 사용자의 정보(클레임)를 JWT payload에 담고, 이를 서명하여 JWT 토큰을 생성합니다. 3. 서버는 생성된 JWT 토큰을 클라이언트(일반적으로 브라우저,유저)에게 전달합니다. 이 토큰은 보통 HTTP 헤더의 Authorization 헤더에 담..

Backend/기능 구현

Spring boot - 멀티 모듈 프로젝트를 만들어보자.

서론 저는 이때까지 spring Boot로 개인 프로젝트나 공부를 할 때, 하나의 패키지를 만들었습니다. src폴더안에 서비스별로 나누고(유저에 대한 Member, 게시판에 대한 board, 설정 파일들이 있는 Configration등등...), 서비스들 안에는 controller, service, dto 등등을 구성했습니다. 하지만 이렇게 하면 폴더를 타고 폴더를 타고.. 이런 과정이 많아지고, 가시성이 안좋을 수도 있으며 테스트하기에도 불리할 수도 있습니다. 이를 위해서 멀티 모듈을 구성해 모듈로서 관심사를 구분하는 멀티모듈 프로젝트를 구성해보고자 합니다. 멀티 모듈 프로젝트의 장점 멀티 모듈은 하나의 프로젝트를 여러 개의 작은 모듈로 나누어서 개발하고 관리하는 방식을 의미합니다. 각각의 모듈은 독립..

코딩하는너굴맨
'Backend/기능 구현' 카테고리의 글 목록