일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |
- 소프트웨어
- 사이버보안
- 네트워크보안
- 자료구조
- 자바스크립트
- 머신러닝
- 데이터베이스
- 클라우드컴퓨팅
- 보안
- 프로그래밍
- 프로그래밍언어
- 인공지능
- 컴퓨터공학
- 네트워크
- 버전관리
- 디자인패턴
- 빅데이터
- 컴퓨터과학
- 데이터과학
- 컴퓨터비전
- 데이터구조
- springboot
- Yes
- 딥러닝
- 웹개발
- 소프트웨어공학
- I'm Sorry
- 알고리즘
- 데이터분석
- 파이썬
- Today
- Total
목록springboot (35)
스택큐힙리스트
1. TDD가 왜 중요한가?“Red → Green → Refactor” 사이클을 통해 서비스 레이어의 요구사항을 코드로 먼저 검증하면, 새 기능을 추가해도 회귀 버그가 줄고 구조가 깔끔해집니다. 테스트가 있는 코드베이스는 리팩터링과 CI/CD에 강합니다.2. JUnit 5 빠르게 세팅하기Gradle 기준:dependencies { testImplementation 'org.junit.jupiter:junit-jupiter:5.10.2' testImplementation 'org.mockito:mockito-junit-jupiter:5.12.0' testImplementation 'org.testcontainers:junit-jupiter:1.19.7'}test { useJUnitPl..
Spring Security의 DebugFilter는 요청이 들어올 때마다 필터 체인 진행 상황·인증·인가 의사결정 과정을 콘솔에 그대로 보여줍니다. 단 몇 줄 설정이면 “왜 403 Forbidden이 떴을까?”를 로그만 보고 바로 파악할 수 있어요.1. DebugFilter가 하는 일org.springframework.security.web.debug.DebugFilter가 Filter Chain 가장 앞에 삽입되어 요청‧응답 정보를 상세히 남깁니다.세션 생성·Authentication 객체·AccessDecisionManager 처리 결과까지 모두 로깅해 인증 ↔ 인가 경계를 실시간으로 확인할 수 있습니다.주의 : DebugFilter는 민감 정보(헤더·세션 ID)를 그대로 노출하므로 로컬/스테이징 ..
Spring Security의 Filter Chain은 톱니바퀴처럼 맞물려 인증(Authentication) 과 인가(Authorization) 를 순차적으로 처리합니다. 톱니 하나만 빠져도 전체 보안이 흔들리기에, 각 필터가 언제·무엇을·어떻게 수행하는지 이해해야 커스텀 보안 전략을 안전하게 설계할 수 있어요.1. Filter Chain이란?Servlet Filter들의 묶음입니다. DispatcherServlet 앞에서 요청·응답을 가로채 인증 혹은 인가 로직을 실행합니다.Spring Boot 3/Spring Security 6부터는 SecurityFilterChain 빈으로 설정하며, 더 이상 WebSecurityConfigurerAdapter를 사용하지 않습니다.필터는 등록 순서대로 실행되므로, ..
Spring Security와 JWT, OAuth 2.0을 결합해 완전 무상태(Stateless) 보안 아키텍처를 구현하는 방법을 한눈에 정리했습니다. 오늘 따라가면 REST API 백엔드에서도 소셜 로그인 → 회원가입 → JWT 발급 → 만료 → 토큰 재발급 흐름을 손쉽게 완성할 수 있어요.1. 왜 세션 대신 JWT인가?수평 확장성 : 서버 간 세션 공유 필요 X, 로드밸런싱에도 끄떡없음.네이티브·웹·모바일 클라이언트 통합 : 토큰만 전송하면 동일 로직 재사용 가능.2. 핵심 개념 한눈에Access Token : 사용자 정보와 만료 시각(짧게) 포함. HTTP Authorization: Bearer.Refresh Token : 재발급 전용·장수 토큰. DB·Redis에 저장해 탈취 시 강제 로그아웃 가..