본문 바로가기

Spring

(14)
[Spring Security] 스프링 시큐리티에 대한 흐름 이해 Spring Security는 Java 기반의 애플리케이션에서 보안 인증과 권한 부여를 처리하기 위한 프레임워크이다. 스프링 시큐리티는 다양한 인증 메커니즘을 지원하고, 다양한 방식으로 사용자 인증을 구현할 수 있다. 이번 블로그를 통해 스프링 시큐리티의 동작원리에 대해 이해하고, 대표적인 특징에 대해 알아보려고 한다. 1. 스프링 시큐리티의 구조 1. Http Request 수신 클라이언트로부터 로그인정보와 함께 인증 요청을 하게 되면 AuthenticationFilter에서 인증 및 권한 부여의 목적으로 일련의 필터를 거치게 된다. 로그인이 이미 되어있다면!! 이미 Authentication 객체가 Http Session에 저장되어 있기 때문에 AuthenticationManager의 authenti..
스프링 FeignClient Spring Web, RestTemplate, Feign은 Http Client의 모듈이다. Http Client는 Http 프로토콜을 사용하여 서버와 통신하기 위해 클라이언트 측에서 사용되는 소프트웨어를 말한다. 서버와 요청과 응답을 주고받으며, 웹 서버의 데이터를 가져오거나, 데이터를 업로드 하거나, REST API 호출을 수행하는 등의 역할을 한다. 오늘은 Http Client의 모듈 중 Netflix에서 개발된 Feign에 대해 정리해보려고 한다. 패스트 캠퍼스 강의를 참고하며 학습하였습니다. 1. FeignClient란 무엇인가? Netflix에서 개발한 Http Client로 현재는 OpenFeign이라는 이름으로 오픈소스로 공개되었다. 이후 스프링 클라우드에서 스프링부트와 함께 사용할 수 있..
[Spring Batch] Batch 이해하기 스프링 배치에 대해 공부하기 전, Spring Web MVC를 공부하며 항상 궁금했던 것이 있었다. 웹은 클라이언트와 서버 간 핸드셰이크 과정을 거쳐 통신하며, 클라이언트의 요청으로 서버는 클라이언트에게 필요한 데이터를 전달한다. 그럼 클라이언트의 요청이 없는 작업의 경우, 예를 들어 '특정시간에 통계 데이터를 만든다던가', '대용량의 데이터를 처리해야하던가' 등, 해당 작업을 진행하기 위해서는 관리자가 매번 개입하여 작업을 처리하도록 서버에 요청을 보내야 하는 것일까? 이러한 작업을 웹 방식으로 구현한다면 해당 작업을 처리하는 시간동안 다른 사람의 요청은 처리하지 못해 비효율적일 것이다. 그러나 위의 작업은 스프링 배치로 해결이 가능했다. 배치에 대해 공부하며 학습한 내용들을 이번 블로그에 정리해 보려..
[Spring Boot JWT Tutorial - 인프런] 스프링 JWT 적용하기 part4. 회원가입 API 구현 및 권한 검증 확인 인프런의 Spring Boot JWT Tutorial의 강의를 보고 정리해 보았습니다. [무료] Spring Boot JWT Tutorial - 인프런 | 강의 Spring Boot, Spring Security, JWT를 이용한 튜토리얼을 통해 인증과 인가에 대한 기초 지식을 쉽고 빠르게 학습할 수 있습니다., - 강의 소개 | 인프런... www.inflearn.com 이전 파트에서 Repository, 로그인 API 구현에 대해서 기록하였다. [Spring Boot JWT Tutorial - 인프런] 스프링 JWT 적용하기 part3. Repository, 로그인 API 구현 SecurityUtil Security관련 간단한 메서드들 구현 import org.slf4j.Logger; import o..
[Spring Boot JWT Tutorial - 인프런] 스프링 JWT 적용하기 part3. Repository, 로그인 API 구현 인프런의 Spring Boot JWT Tutorial의 강의를 보고 정리해 보았습니다. [무료] Spring Boot JWT Tutorial - 인프런 | 강의 Spring Boot, Spring Security, JWT를 이용한 튜토리얼을 통해 인증과 인가에 대한 기초 지식을 쉽고 빠르게 학습할 수 있습니다., - 강의 소개 | 인프런... www.inflearn.com 이전 파트에서 JWT 관련 설정법에 대해서 기록하였다. [Spring Boot JWT Tutorial - 인프런] 스프링 JWT 적용하기 part2. JWT 관련 설정하기 1. DTO 생성하기 ▶ LoginDto 로그인 시 사용 import lombok.*; import javax.validation.constraints.NotNull..
[Spring Boot JWT Tutorial - 인프런] 스프링 JWT 적용하기 part2. JWT 관련 설정하기 인프런의 Spring Boot JWT Tutorial의 강의를 보고 정리해 보았습니다. [무료] Spring Boot JWT Tutorial - 인프런 | 강의 Spring Boot, Spring Security, JWT를 이용한 튜토리얼을 통해 인증과 인가에 대한 기초 지식을 쉽고 빠르게 학습할 수 있습니다., - 강의 소개 | 인프런... www.inflearn.com 이전 파트에서 스프링 시큐리티 적용을 위한 초기 세팅 방법에 대해 기록하였다. [Spring Boot JWT Tutorial - 인프런] 스프링 JWT 적용하기 part1. 초기 세팅 1. TokenProvider 토큰 생성 토큰 유효성 검증 import io.jsonwebtoken.*; import io.jsonwebtoken.io...
[Spring Boot JWT Tutorial - 인프런] 스프링 JWT 적용하기 part1. 초기 세팅 인프런의 Spring Boot JWT Tutorial의 강의를 보고 정리해 보았습니다. [무료] Spring Boot JWT Tutorial - 인프런 | 강의 Spring Boot, Spring Security, JWT를 이용한 튜토리얼을 통해 인증과 인가에 대한 기초 지식을 쉽고 빠르게 학습할 수 있습니다., - 강의 소개 | 인프런... www.inflearn.com 해당 강의는 간단하게 H2 데이터 베이스를 사용하여 JWT 인증 구현을 진행한다. 유저와 인증정보를 가진 Entity를 통해 JWT를 적용하는 방법을 알려준다. Build Gradle 설정 JWT를 적용하기 위해서 다음과 같은 디펜던시를 추가해주었다. Spring Web Spring Security Spring Data JPA H2 D..
7. JDBC, SQL Mapper, ORM Youtube [10분 테코톡] 🧘‍♂️코즈의 JDBC, SQLMAPPER, ORM,⏰ 아마찌의 ORM vs SQL Mapper vs JDBC을 참고하여 정리하였습니다. Persistence JDBC, SQL Mapper, ORM은 데이터들이 사라지지 않도록 하는 Persistence(영속성)와 관련이 있다. 프로그램이 실행된 후 객체지향의 데이터들은 객체 생성 후 RAM에 저장되어 있다가 프로그램이 종료 되면서 날라가게 된다. 온라인을 활용한 비즈니스가 증가하면서 데이터의 영속성은 반드시 필요했고 데이터베이스를 활용해 데이터들이 지워지지 않도록 하였다. 출처 : https://herbertograca.com/2017/08/03/layered-architecture/ 클라우드 환경의 발달로 단순했던 La..