[TIL - 250724]

sum·2025년 7월 24일
0

📖 오늘 공부한 내용

  • 세션 기반 로그인 유지 기능 구현
    • LoginCheckInterceptor로 세션 없을 시 쿠키(memberId)로 로그인 상태 복원
  • 인터셉터 등록 (WebMvcConfigurer)
    • 로그인 체크가 필요한 URL에 인터셉터 적용
    • 예외 URL 등록 (로그인, 회원가입 등)
  • JPA 전환 및 연동 구조 구축
    • @Entity 누락 문제 해결 후 정상 동작
    • Repository 이원화 (MemberRepository + 구현체)
    • JpaMemberRepositorySpringDataJpaMemberRepository 주입 구조 설정
  • 회원 기능 마무리
    • 회원가입 (Thymeleaf 폼 연동)
    • 로그인/로그아웃 (세션 + 쿠키 활용)
    • 회원 정보 수정/탈퇴

😵 어려웠던 내용

  • JPA 오류 해결
    • Not a managed type@Entity 누락이 원인이라 디버깅 시간이 소요됨
  • 인터셉터 생성자 문제
    • new LoginCheckInterceptor(memberService)로 주입했을 때 빈 등록/생성자 불일치 오류 발생
    • 해결 : @Bean으로 등록한 인스턴스를 addInterceptor(loginCheckInterceptor)로 전달해야 함

❓ 궁금한 내용과 부족했던 내용

  • 인터셉터에서 세션 재생성 후의 흐름이 자연스러운지, 또는 필터에서 처리하는 게 더 깔끔할지?
  • 추후 로그인 유지 기능을 JWT로 바꿀 때 구조적으로 어떻게 리팩토링할지 아직 구상이 덜 됨
  • 프론트와 실제로 연결되었을 때 예외 처리나 UX 측면에서 부족할 수 있는 부분은 더 테스트해봐야 함

💬 느낀점

새로운 화면 좀 보고 싶어서 자꾸 진도를 더 나가 프로젝트 진행 속도가 붙은 거 같다. 오늘은 좀 해결하는 데 오래 걸린 오류가 둘 있는데, 어쨌든 나는 해결해내고 말았다. 나 좀 짱인듯 이 마인드로 살아가고자 한다.

0개의 댓글