본문 바로가기

전체 글25

Spring Security, JWT 사용방법 🔐 Spring Security에서 JWT란 무엇인가?JWT (Json Web Token)은 사용자 인증 정보를 담고 있는 디지털 토큰입니다.서버에서 로그인 성공 시 이 토큰을 발급하고, 이후 요청에서 다시 사용자 정보를 확인할 때 사용합니다.✅ 프로젝트를 만들게 된 배경리액트와 같은 React + Spring Boot (분리형 SPA) 방식에서 인증방식이 JWT로 많이 쓰인다고 해서 커스텀으로 해봤습니다✅ 왜 JWT를 사용하는가?Stateless - 세션/쿠키 필요 없음. 클라이언트가 토큰만 가지고 있으면 됨Self-contained - 사용자 정보와 권한이 토큰에 포함됨보안성 - 서명(Signature) 기능으로 위조 방지확장성 - 마이크로서비스 간 인증 전달에도 적합📦 JWT 구조eyJhbGci.. 2025. 8. 6.
🔐 Spring Boot Security+ MyBatis +Json Request 로그인 구현하기 Spring Security를 처음 학습하며 프로젝트를 실제 구현해봤습니다.이번 글에서는 Spring Boot에서 기본으로 적용되는 보안 설정이 어떤 식으로 동작하는지 살펴보고, 사용자 인증과 권한 처리 흐름을 어떻게 구성할 수 있는지 간단한 실습 예제를 통해 정리해보았습니다. 실제 프로젝트에 Spring Security를 도입하거나 커스터마이징할 때 참고용으로 활용하시면 좋을 것 같습니다. 회사에서 Mybatis를 사용하고, json으로 API를 자주 받기 때문에 Mybatis와 Json을 활용한 로그인 프로젝트를 만들었습니다.🗂 프로젝트 설정(실행 환경은 자바 8입니다)프로젝트명securityJava 버전17Spring Boot3.5.4MyBatis2.2.2DBMariaDB (mariadb-java.. 2025. 8. 1.
🔐 Spring Security - 커스텀 인증 로직 정의 및 구성 클래스 분리 ✅ 1. 커스텀 인증 로직이 필요한 이유Spring Security는 UserDetailsService와 PasswordEncoder를 조합해 인증을 수행합니다. 하지만 경우에 따라 이 기본 흐름이 우리의 요구사항에 맞지 않을 수 있습니다. 이럴 때 사용하는 것이 AuthenticationProvider 인터페이스입니다.🧩 2. AuthenticationProvider 구조 및 흐름🧑‍💻 3. 커스텀 AuthenticationProvider 구현 예시📌 CustomAuthenticationProvider.java@Componentpublic class CustomAuthenticationProvider implements AuthenticationProvider { @Override publi.. 2025. 7. 29.
🔐 Spring Security - 엔드포인트 수준에서 인가 적용하기 ✅ 사용자 관리 이후, 인증/인가 설정 확장하기엔드포인트별 인증 및 인가 처리 방식을 설정할 수 있습니다.기본적으로 Spring Security는 모든 요청에 대해 인증을 요구합니다. 기본 인증 방식은 HTTP Basic Authentication이며, 대부분의 실제 애플리케이션에서는 다른 방식으로 변경이 필요합니다.🔧 인증/인가를 제어하기 위한 핵심: SecurityFilterChain BeanSpring Security에서 인증과 인가를 커스터마이징하려면 SecurityFilterChain을 직접 설정해야 합니다.📌 예제 1: 기본 인증 방식 유지 (anyRequest().authenticated())@Configurationpublic class ProjectConfig { @Bean Sec.. 2025. 7. 29.
🌐 Spring Security 클래스 설계의 큰 그림 ✅ 인증 및 인가 아키텍쳐의 주요 컨포넌트Spring Security에서 인증(authentication)과 인가(authorization) 처리를 담당하는 주요 컨포넌트들의 동작 방식과 관계를 이해하는 것은 너무나 중요했습니다.이와 같이, 기본으로 설정된 컨포넌트들을 여부에 맞게 올바른 형태로 설정하는 것이 Spring Security 프로젝트의 그 시작입니다.🧙 Spring Security 인증 흐름 구성 요소Spring Boot는 의존성에 따라 자동으로 Spring Security 관련 컨포넌트를 설정합니다.그 중 기본적으로 활용되는 클래스 그룹은 다음과 같습니다:🔍 각 컨포넌트 설명Authentication Filter: 요청을 거래하고 AuthenticationManager에게 인증 요청 전.. 2025. 7. 29.
🚀 Spring Security 첫 프로젝트 구성하기 Spring Security를 학습하기 위한 첫 단계로, 우리는 ssiach2-ex1이라는 이름의 빈 프로젝트를 생성해볼 거예요.이 이름은 다른 실습 프로젝트에서도 동일하게 사용되기 때문에 기억해두시면 좋습니다 😊✅ 필요한 의존성 정리우리가 사용할 의존성은 딱 두 가지입니다.spring-boot-starter-webspring-boot-starter-security이제 pom.xml 파일에 아래 코드를 추가해봅시다. org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-starter-security이 두 의존성만으로도 Spring Security의 기본 기능이 자동으로 적용됩니다.✅ 프로젝트 목적.. 2025. 7. 29.
반응형