본문 바로가기

전체 글

(66)
Spring에서의 API 예외 처리 전략 1. 왜 예외 처리 전략이 중요한가?백엔드에서 예외(400~500)가 발생하면 사용자에게 정확하고 일관된 응답을 전달해야 함예외 응답이 일관되지 않으면:프론트는 어떤 에러인지 해석 불가디버깅도 어려움클린 아키텍처에선 도메인 → 컨트롤러 계층까지 예외가 잘 캡슐화되어야 함 2. 기본 예외 처리 방식의 문제점@GetMapping("/user/{id}")public UserDto getUser(@PathVariable Long id) { return userService.findById(id); // 존재하지 않으면 예외 발생}만약 id에 해당하는 유저가 없다면 NoSuchElementException 발생Spring이 알아서 500 에러를 내보냄 (내가 컨트롤 불가)메시지도 무의미함 → 사용자/프론트엔..
로코 프로젝트 로그인 방식 트러블슈팅 기존 로그인·인증 로직의 문제점https://github.com/Morgan-EE/loco_project1. JWT를 localStorage에 저장일반 로그인 처리 후 토큰을 localStorage에 저장합니다.해당 부분은 frontend/src/app/login/page.tsx 38~40행에서 확인할 수 있습니다:localStorage는 자바스크립트로 접근 가능하기 때문에 XSS 공격 시 토큰이 쉽게 탈취될 수 있습니다.const data = await res.json();localStorage.setItem('token', data.token);localStorage.setItem('username', data.username);OAuth 로그인 성공 시에도 URL 파라미터로 받은 토큰을 그대로 lo..
Spring Security Filter Chain Spring Security : 웹 애플리케이션에 보안 기능을 쉽게 붙일 수 있도록 해주는 프레임워크제공하는 기능:로그인/로그아웃권한(Role) 기반 접근 제어CSRF 방지세션 관리비밀번호 암호화JWT 인증 등1. Security Filter Chain이란? – 요청을 지키는 보안 게이트Spring Security는 요청이 컨트롤러에 도달하기 전, 여러 보안 필터들을 차례대로 통과시키면서“이 요청이 안전한가?”, “누구인가?”, “권한이 있는가?”를 체크하는 시스템입니다.(HTTP 요청을 필터로 감싸 처리함)주요 구조:DelegatingFilterProxy : Spring Security 필터로 진입하는 입구톰캣(또는 서블릿 컨테이너)에 등록된 서블릿 필터진짜 필터 로직은 Spring 안에 있음Filte..