
백엔드
Fortel: 사내 인증 표준화 및 단순화를 위한 Spring Security 확장 라이브러리
두줄요약
Spring Security를 보완하는 사내 확장 라이브러리 Fortel을 소개했습니다. YAML 기반 설정과 단일 필터 구조로 세션·인증·인가를 표준화했습니다.
핵심 내용
- Spring Security를 보완하는 사내 확장 라이브러리 Fortel 소개
- YAML 기반 선언형 설정으로 세션, 인증, 인가 정책 통합 관리
- AccessGateFilter 중심으로 세션 선검증부터 인증·인가까지 단일 관문에서 오케스트레이션
- Form, Basic, OAuth 등 다중 인증 방식을 일관된 파이프라인으로 수용
- 프로젝트별 보안 설정 중복과 복잡성을 줄여 공통 정책 재사용 가능
구조와 흐름
- SessionResolver로 세션 고정 방지, 동시 로그인 제한, 미인증 접근 정책 선적용
- AuthenticationConverter로 입력 방식을 토큰으로 변환해 공통 인증 흐름 구성
- AuthenticationManager와 AuthorizeRequest로 토큰별 인증 실행과 요청 단위 인가 판단 분리
- 성공·실패·거부 응답을 통합 핸들러로 표준화
선택 이유
- 여러 인증 수단과 동일한 인가·세션 정책을 함께 운영해야 하는 요구
- Spring Security의 기본 구성만으로는 필터 우선순위와 정책 결합이 복잡한 한계
- 짧은 개발 주기에서 설정 부담을 줄이고 비즈니스 로직에 집중하기 위한 목적
적용해볼 점
- 조직 전용 보안 정책을 코드보다 설정 중심으로 표준화하는 방식
- 다중 인증 체계를 단일 진입점에서 조율하는 구조
- 공통 세션·응답 규약을 라이브러리로 추출해 프로젝트 간 재사용하는 접근
