전체 글 493

jwt + spring security 동작 과정 간단 정리

이번 포스팅에서는 spring security를 활용하여 jwt를 구현하였는데, 이 과정에 대해 공부한 내용을 정리해보려고 합니다. 1. SecurityFilterChain의 addFilterBefore addFilterBefore() 메소드는 특정 필터를 등록하는 역할을 하며, 첫 번째 인자로 등록 필터를 전달하고, 두 번째 인자로 등록할 위치를 전달합니다. UsernamePasswordAuthenticationFilter는 Spring Security에서 기본적으로 제공하는 폼 인증 처리 필터입니다. 이를 기준으로 JwtAuthenticationFilter가 등록되므로써, 사용자 인증 전 JWT 토큰을 검사하게 되는 것입니다. Q) UsernamePasswordAuthenticationFilter 와..

백엔드 2023.05.14

[디버깅] bitbucket permission denied 오류 해결

이번 포스팅에서는 bitbucket permission denied 오류 해결 과정에 대해 포스팅하겠습니다. 1. git bash 에서 ssh-keygen -t rsa -C 이메일를 치고 ssh key를 받는다. (저는 ssh key를 chips라는 이름으로 만들었습니다.) 2.만든 ssh 를 등록한다. ssh-add ~/.ssh/chips 하지만 could not open a connection to your authentication agent 에러가 발생할 수 있습니다. could not open a connection to your authentication agent 에러 해결 방법 eval $(ssh-agent) 를 쳐서 agent 프로세스를 생성하고 ssh-add ~/.ssh/chips 3...

IT/디버깅 2023.04.26

[백엔드] jwt vs session

이번 포스팅에서는 인증 방식인 jwt와 session을 비교하고, 각각의 특징을 정리해보려고 합니다. 현재 프로젝트에서 회원 관리 API를 설계하려고 하는데 그 전에 회원을 인증하는 방식을 jwt 와 session 중 어떤 것을 활용해 구현할지를 고민하고 있습니다. 이에 jwt와 session 방식을 비교해 선택하기로 결정하였고, 이 과정을 포스팅하려고 합니다. Session 1. Session이 필요한 이유 HTTP 프로토콜은 비상태성(Stateless)와 비연결성(Connetionless) 특징을 가지고 있습니다. 서버간의 연결을 유지하지 않음으로써 서버의 리소스를 효율적으로 사용하고, 클라이언트의 상태를 유지하지 않음으로써 서버의 부하를 줄이기 위함입니다. 하지만 이런 특징들은 상태를 유지해야 하는..

백엔드 2023.04.13

[디버깅] jdbSqlSyntaxErrorException Table not found 이슈 해결

이번 포스팅에서는 JPA 사용 중 발생한 jdbSqlSyntaxErrorException Table not found 이슈를 해결하는 과정을 포스팅 하려 합니다. 1. Table not Found 이슈 상황 @SpringBootTest class LatterServiceTest { @Autowired MemberService memberService; @Autowired LatterService latterService; @Autowired EntityManager em; @Autowired TransactionTemplate transactionTemplate; @AfterEach public void 지우기() { System.out.println("======@AfterEach======"); me..

IT/디버깅 2023.04.05

[디버깅] test 코드에서 em.remove() delete 쿼리 안나가는 이슈 해결

JPA로 em.remove()를 하였지만 delete 쿼리가 나가지 않는 에러가 발생하여 이를 해결하는 과정을 포스팅하려고 합니다. 1. delete 쿼리 안나가는 이슈 상황 1. test 코드입니다. 코드는 간단하게 아래와 같습니다. package dev.devpool.service; import dev.devpool.domain.Child; import dev.devpool.domain.Member; import static org.junit.jupiter.api.Assertions.*; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframe..

IT/디버깅 2023.03.30

[디버깅] JdbcSQLIntegrityConstraintViolationException: Referential integrity constraint violation 에러 해결

JdbcSQLIntegrityConstraintViolationException: Referential integrity constraint violation 이라는 에러가 발생하여, 이 문제를 해결하는 과정을 이번 포스팅에 담으려고 합니다. JdbcSQLIntegrityConstraintViolationException: Referential integrity constraint violation 관련 테이블 설계 Member와 Team이 다대다 연관관계인데 중간에 memberTeam을 두어 1:N, N:1로 풀어낸 상태입니다. 또한 Team에 역방향을 걸어 Team을 통해 조회할 수 있도록 하였고, cascade를 걸어 생명주기를 같이 하도록 하였습니다. JdbcSQLIntegrityConstrain..

IT/디버깅 2023.03.30

[디버깅] Database may be already in use 에러 해결

이번 시간에는 h2 DB를 스프링부트 프로젝트에서 연결하던 중 발생한 오류인 Database may be already in use를 해결하는 과정을 포스팅하려고 합니다. 에러는 아래와 같습니다. 저는 기존에 다른 프로젝트에서 이미 H2를 사용하는 상태였고 url만 다르게 변경하여 프로젝트를 하려고 하니 아래와 같은 에러가 발생한 것이었습니다. 1. Database may be already in use 해결 방법 1 구글링을 하던 중 이미 Port를 사용 중일 수도 있다는 것을 알게 되어 Window의 명령어 키를 통해 실제로 포트가 사용되고 있는지를 체크해보았습니다. (나는 껐다고 생각했는데 포트가 이미 실행중인 경우도 존재하기에) Window에서 netstat -an으로 사용중인 포트를 확인할 수 ..

IT/디버깅 2023.03.26

백준 성곽 2234번 Python 파이썬 풀이

이번 포스팅에서는 백준 성곽 2234번 문제를 python으로 푼 정답 코드를 작성해보려고 합니다. 각각 주석으로 달아놓았고 밑에는 간략하게 해설을 작성하였습니다. 백준 성곽 2234번 Python 파이썬 정답 코드 # 성곽 # 복습 횟수:0, 01:30:00, 복습필요O import sys from collections import defaultdict si = sys.stdin.readline M, N = map(int, si().split()) graph = [list(map(int, si().split())) for _ in range(N)] visited = [[0 for _ in range(M)] for __ in range(N)] # 남 동 북 서 # graph 모양 치환 for i in r..

카테고리 없음 2023.03.22

[디버깅] SpringRunner.class 인식 오류 해결하기

Test를 진행하려고 하는 중 SpringRunner.class 및 @SpringBootTest 어노테이션을 인식하지 못하는 오류가 발생하였습니다. 이를 해결하기 위한 과정들을 정리하는 포스팅입니다. SpringRunner.class 인식 문제 해결 과정 1. SpringRunner.class 에서 나온 에러 메세지를 바탕으로 아래와 가튼 의존성을 추가해주었으나, 해결하지 못하였습니다. 2. intellij invalidate/restart를 해보았지만 해결하지 못했습니다. SpringRunner.class 인식 문제 해결 의문점 분명히 external 라이브러리에는 존재하는데 인식을 못하는 상황이었습니다. SpringRunner.class 인식 문제 해결 pakage의 모듈 구조때문에 인식하지 못 한 ..

IT/디버깅 2023.03.16
728x90