반응형
반응형
다중 도메인을 사용하는 스프링 프로젝트 구조를 살펴보고, Host 헤더를 통한 경로 분기 처리 방법을 알아보겠습니다.프로젝트 개요이 프로젝트는 하나의 스프링 애플리케이션에서 세 가지 다른 도메인을 처리합니다:admin.example.com: 관리자 전용 페이지customer.example.com: 고객용 페이지gtc.example.com: GTC(Global Trading Center) 페이지개발 환경 접속 주소로컬에서 개발 시 다음 URL로 각 서비스에 접근할 수 있습니다:domain router 적용 : http://localhost:8888/관리자: http://localhost:8888/admin/dashboard대고객: http://localhost:8888/go-customerGTC: http..
1. 의존성 다운로드 방법기본 명령어# 모든 의존성을 offline-repo 폴더에 다운로드mvn dependency:go-offline -Dmaven.repo.local=./offline-repo플러그인과 소스코드도 함께 다운로드# 플러그인과 소스코드까지 모두 다운로드mvn dependency:resolve-plugins dependency:resolve -Dclassifier=sources -Dclassifier=javadoc -Dmaven.repo.local=./offline-repo2. 로컬 JAR 파일 처리두 개의 로컬 JAR 파일(Dataconverter.jar, RelaySocket.jar)은 별도로 복사해 두어야 합니다.# 로컬 JAR 파일 복사mkdir -p ./offline-repo/l..
목표 하나의 Gradle 프로젝트 내에서 특정 패키지(cc, dd)만 별도 JAR로 생성생성된 JAR을 libs 디렉토리에 넣고 implementation fileTree(...) 방식으로 참조원본 소스(src/main/cofor/wts/cc dd)는 삭제build.gradle 추가 task customJar1(type: Jar) { archiveBaseName.set("Dataconverter") destinationDirectory.set(file("$buildDir/custom-libs")) from sourceSets.main.output.classesDirs include '**/aa/bb/cc/**' from sourceSets.main.output.resources..
전자서명과 부인방지 처리는 보안 시스템에서 중요한 개념입니다.여기서는 비대칭 키(공개키/개인키)를 이용한 전자서명을 생성하고, 검증하는 방법을 Spring Boot 3.1(Java 17)과 Spring Security를 활용하여 구현하는 방법을 단계별로 설명해 드리겠습니다.. 전자서명 개념 정리전자서명은 개인키(Private Key)를 사용하여 데이터를 서명하고, 공개키(Public Key)를 이용해 서명을 검증하는 방식입니다.전자서명은 서명과정과 검증 과정으로 구분되는데 아래와 같습니다.- 서명할 때 중요한 개념키쌍(공개키/개인키) 생성원문(Message)을 해시(Hash) 값으로 변환 (SHA-256 등 사용)해시 값을 개인키(Private Key)로 암호화 → 전자서명(Signature) 생성서명출..
Spring Boot3.1 과 JWT를 이용하여 로그인 / 로그아웃 / 토큰 생성 / 토큰 검증 기능을 간다하게 구현해 봅니다.프로젝트 구성src/main/java/com/example/jwtapp/ ├── controller/AuthController.java ├── filter/JwtFilter.java ├── model/AuthRequest.java ├── model/AuthResponse.java ├── model/LogoutRequest.java ├── security/JwtUtil.java ├── security/SecurityConfig.java ├── service/TokenBlacklistService.java └── JwtAppAppli..
java 17 과 spring boot 3.1 사용build.gradleplugins { id 'java' id 'war' id 'org.springframework.boot' version '3.1.0' id 'io.spring.dependency-management' version '1.1.6' id 'application' // 추가 id "com.github.node-gradle.node" version "7.1.0"}group = 'com.coforward'version = '0.0.1-SNAPSHOT'java { toolchain { languageVersion = JavaLanguageVersion.of(17) }}configurations { compileOnly { extendsFr..