Spring Security 4

[트러블슈팅] Spring Security 인증 없이 채널 목록 화면이 보이는 문제

문제 상황 로그인하지 않았는데도 접속 시 로그인 후 화면(채널 목록 화면) 이 잠깐 보이고,이후 FE 콘솔에서 reduce is not a function, filter is not a function 오류 발생즉, FE에서는 로그인 안 된 상태인데, BE에서 인증 없이 API가 열려 있는 것처럼 동작원인 분석 SecurityFilterChain에서 정적 리소스와 인증 API 경로를 permitAll()로 열어두는 과정에서,일부 정적 리소스(/assets/**, /*.js, /*.css 등)가 제대로 매칭되지 않아 보안 필터를 타고 인증이 필요한 요청으로 오인 처리이 때문에 FE에서 리소스 로딩 실패 -> 비정상적인 초기 화면 랜더링 -> 인증 상태 착각 문제 발생해결 방법정적 리소스 경로를 한 번에 묶..

[Spring Security] 인증/인가 프로세스

인증(Authentication) 처리 흐름UsernamePasswordAuthenticationFilter: 로그인 요청을 가로채어 Authentication 객체를 만듭니다.AuthenticationManager: 인증 처리의 중심이며, 하나 이상의 AuthenticationProvider에 인증을 위임합니다.AuthenticationProvider: 실제 인증 로직(예: DB 조회, 비밀번호 비교 등)을 담당합니다.SecurityContext: 현재 인증된 사용자(Authentication)를 보관합니다.HttpSession: SecurityContext를 세션에 저장하여 요청 간 상태를 유지합니다.포인트설명인증 시작UsernamePasswordAuthenticationFilter가 로그인 요청을 ..

[Spring Security] 기본 사용법

1. 의존 라이브러리 추가(build.gradle)dependencies { ... implementation 'org.springframework.boot:spring-boot-starter-security' ...}2. Spring Security Configuration 적용기본 구조package com.springboot.config;import org.springframework.context.annotation.Configuration;@Configurationpublic class SecurityConfiguration { // 여기에 Spring Security의 설정 진행}3. HTTP 보안 구성HttpSecurity를 파라미터로 가지고, SecurityFilterChain을 리턴하..

세션 기반 인증 / 토큰 기반 인증

세션 기반 인증과 토큰 기반 인증의 차이점과 각각의 보안 고려사항에 대해 설명하세요.세션 기반 인증동작 방식사용자가 로그인하면 서버가 세션 ID를 발급하고 서버의 세션 저장소(메모리, DB, Redis 등)에 사용자 상태를 기록.클라이언트는 세션 ID를 쿠키에 담아 요청 시마다 서버에 전달.서버는 세션 저장소에서 세션 ID를 확인해 사용자 인증 여부를 판단.장점서버가 상태(Session State)를 가지고 있어 로그아웃, 세션 만료, 강제 무효화 처리가 용이.보안 사고 발생 시 서버에서 해당 세션을 삭제하면 즉시 차단 가능.보안 고려사항세션 ID 탈취(세션 하이재킹) 방지 → HTTPS 사용, HttpOnly/Secure 쿠키 설정.세션 고정 공격(Session Fixation) 방지 → 로그인 시 세..

Computer Science 2025.09.24
728x90