Backend (20) 썸네일형 리스트형 [Spring-Security] JWT 검증 시에 발생하는 예외는 ExceptionHandler에서 처리할 수 없다. 1. 내가 기대했던 결과사용자가 Authorization 헤더에 Bearer 타입의 Access Token을 담아서 서버로 요청한다.서버에서 Access Token을 받아서 만료된 토큰인지 검증한다.만료된 토큰이라면 ExpiredJwtException 예외를 발생시킨다.@ExceptionHandler를 사용하여 예외를 핸들링한다.JWT 토큰을 검증하는 FilterdoInternal()에서 사용자의 요청을 가로챈다.HttpServletRequest에서 1-1에서 담은 Access Token을 가져온다.try문에서 parseToken()를 호출한다.validateToken()를 통해 토큰을 검증한다.이때, 토큰이 만료되었는지 확인한다.토큰이 만료되었다면 ExpiredException 예외가 발생한다.try-.. [Spring] Code Deploy 사용 시에 환경변수가 적용되지 않는 문제 1. 프로젝트 환경Java 17SpringBoot 3.3.2Code Deploy기반 CI/CD 2. Code Deploy는 .bashrc 파일을 사용하지 못한다.CI/CD 파이프라인 구축을 위해 Code Deploy를 사용하였고, 빌드된 파일을 AWS EC2에서 실행하기 위해 .bashrc 파일에 환경변수 값을 등록하였다. EC2의 .bashrc에 환경변수를 등록하였으므로 빌드된 파일을 실행시켰을 때, 문제가 없을 것이라 생각했습니다. Github으로 코드를 push 하면 사진과 같이 문제없이 EC2로 jar 파일이 배포됩니다. AWS EC2의 .bashrc에 prod 환경에서 필요한 환경 변수 값을 저장하였고, 스프링 애플리케이션 실행 시에 사용하기를 기대하였습니다. 그러나… 스프링 애플리케이션 실행.. [Spring-Security] @AuthenticationPrincipal 객체에 null이 저장되는 문제 1. 오류 발생 흐름1-1. 사용자가 로그인을 한다.로그인이 완료된 사용자의 인증 정보가 SecurityContext에 저장된다.1-2. 인증된 사용자가 HTTP 요청을 한다.인증이 완료된 사용자는 페이지를 이동하면서 HTTP 요청을 보낸다. 게시물 작성 페이지로 이동하기 위해서는 인증이 완료된 사용자이어야 하며, 더불어 작성 완료하기 위해서 또한 인증이 완료된 사용자이어야 한다.1-3. HTTP 요청 시에 인증된 사용자 정보를 가져올 수 없다.사용자가 게시물 작성 버튼을 누르면 인증 정보를 가져올 수 없다는 에러가 발생한다.아래 코드를 보면 createPost()의 매개변수에 @AuthenticationPrincipal 애너테이션을 사용하여 인증된 사용자 정보를 주입받고자 한다. 그러나 HTTP 요청이.. [JPA] JpaRepository를 사용할 때 @Transactional을 붙여야할까? SimpleJpaRepositoryJpaRepository는 SimpleJpaRepository를 상속받습니다. SimpleJpaRepository는 데이터베이스에 상호작용을 위한 기본적인 CRUD 연산을 제공합니다. CRUD 연산에는 기본적으로 @Transactional 애너테이션이 사용됩니다.public class SimpleJpaRepository implements JpaRepositoryImplementation { @Transactional public void deleteById(ID id) { Assert.notNull(id, "The given id must not be null"); this.findById(id).ifPresent(this::del.. 이전 1 2 3 다음