본문 바로가기

개발자11

[Spring Security] 인증 후 인가 SecurityContext 영속성 유지 안됨 문제 1. 현상인증의 영속성을 유지하기 위해서 세션을 활용하려고 하였다.그리고 아래와 같이 https://docs.spring.io/spring-security/reference/servlet/authentication/persistence.html 가이드에 맞게 코드를 작성하였다. 그런데 로그인 이후에 다른 API를 호출하여도 인증의 영속성이 유지되지 않았고 403 Forbidden 오류가 떨어졌다. 2. 원인SecurityContextConfigurer 설정 클래스에서는 기본적으로 개발자가 수동으로 SecurityContext를 저장하도록 설정되어 있다.그렇기 때문에, 각 Request마다 SecurityContext를 저장하는 코드를 작성하지 않아서 영속성이 유지되지 않았던 현상이었다. 3. 해결이 문제.. 2025. 5. 25.
[Git] Organization Repository에 권한 부여 방식 현재 프로젝트를 Organization에서 multi repository 형태로 관리하고 있다. 그리고 권한을 부여받은 사용자에 한해서 수정할 수 있도록 제한하고 있습니다. 그래서 Organization의 repository에 push 등의 작업을 하려고 하면 아래와 같은 인증을 요구하게 됩니다.이 글을 통해 제가 어떻게 권한을 부여했는지 과정을 설명하려고 합니다.  1. Personal Access Token을 발급받습니다. 1) 계정의 "Settings" -> "Developer settings" 페이지로 접근합니다. 2) "Personal access Tokens"탭에서 "Tokens (classic)"을 클릭하여 class PAT 관리 화면에 들어간 후 토큰을 생성합니다.         생성된 토.. 2025. 3. 22.
[Spring] Multi-module 프로젝트에서 테스트용 docker-compose 파일 공통화 현재 내가 진행중인 토이 프로젝트의 환경은 아래와 같다.  모듈에 관한 간략한 설명은 아래와 같다. 1. User 모듈사용자 관련 비지니스 로직 및 기능 담당2. Sales 모듈매출 / 매입 관련 비지니스 로직 및 기능 담당3. Common 모듈테스트 코드 외에서 공통적으로 사용되는 기능 담당4. Test 모듈테스트 코드에서 공통적으로 사용되는 기능 담당5. Api 모듈어플리케이션 시작 및 API 관련 기능 담당  그리고 각 모듈은 프로젝트의 최상위 디렉토리에서 빌드되어 docker 환경에서 띄워지게 된다.  따라서 docker-compose.yml, Dockerfile은 모두 최상위 디렉토리에 위치한다. 그리고 실제 docker 환경 기반의 테스트를 위해 "testcontainers" 를 사용한다. 여.. 2025. 3. 11.
[Spring] 멀티 모듈에 Spring Rest Docs 적용기 문제이번에 포트폴리오를 준비하면서 멀티 모듈로 구성된 어플리케이션을 만들어 보고 있다. 빌드 도구로는 gradle을 사용했다. (8.10.x) 모듈은 아래와 같이 구성되었었다.1. Common 모듈: 테스트, 유틸 등의 공통 기능을 담고 있는 모듈2. App 모듈: 어플리케이션 구동을 담당하는 모듈3. User 모듈: 사용자 관련 기능을 담당하는 모듈4. Sales 모듈: 매출 / 매입 등 재무 기능을 담당하는 모듈 각 모듈은 Controller, Service, Repository, Entity 등 모든 계층을 담고 있었고, 각 모듈별로 유닛 테스트부터 Spring Rest Document를 적용하기 위한 통합 테스트 코드를 가지고 있었다.  그리고 각 App 모듈로 어플리케이션을 기동하기 때문에 Ap.. 2025. 3. 3.