[Project] Sparkle Note / Paper 서비스의 선생님 작성 권한 추가 과정
·
Project/Sparkle-Note
선생님은 롤링페이퍼를 작성할 수 없게 학생 기반으로만 CRUD API 개발을 해놨었다...학생들이 이용하는 것이다라는 생각에 사로잡혔었나 왜 이렇게 개발을 해놨는지 모르겠다..이런 것이 리팩토링의 중요성인 거 같다!! 선생님 작성기능을 추가해 보자!!!Paper 서비스의 선생님 작성 권한 추가 과정- 문제점 파악권한 처리의 불완전성Paper 서비스가 학생(Student) 중심으로만 설계선생님(OAuth2User)의 paper 작성 기능 부재createPaper, updatePaper, deletePaper 모두 student_id를 기반으로 동작데이터 구조의 제한Paper 엔티티가 student_id를 필수(NOT NULL)로 요구선생님이 작성한 paper를 저장할 수 없는 구조응답 데이터의 불충분Pap..
[Project] Spakrle Note / JWT 토큰 내 사용자 정보 개선하기
·
Project/Sparkle-Note
리팩토링을 진행하던 도중, 이름 정보를 매번 DB에서 조회하는 대신 JWT 토큰에 함께 담아두는 방법을 고민해보게 되었다. 이 방법의 장점은 반복적인 DB 조회를 피할 수 있어 성능을 향상시킬 수 있다는 점입니다. 하지만 그만큼 토큰의 크기가 커질 수 있다는 단점도 존재한다. 이렇게 개발을 하다 보면 항상 장단점이 공존하는 것을 느끼게 된다이번 포스트에서는 이러한 장단점을 고려하면서도 새로운 접근법을 시도를 해보고자한다.토큰에 사용자 이름을 포함해 인증 후 바로 접근할 수 있도록 개선한 과정을 적어봐야겠다 JWT 토큰 내 사용자 정보 개선하기- 기존 코드의 문제점// 변경 전public String createAccessToken(String username, Role role, Long expiredM..
[Project] Sparkle Note / 사용자 인증 정보 구분하기
·
Project/Sparkle-Note
최근 프로젝트에서 사용자 인증 정보를 처리하는 방식에 대해 고민이 많았다. 매번 요청마다 헤더에서 사용자 ID를 추출하고 전달하는 방식은 코드 중복도 많고 관리하기 어려웠기 때문이다ㅋ그래서 이번에는 인증 정보를 더 효율적으로 관리할 수 있는 방법을 찾고, 보안도 강화하고 싶었다(금카 강화 느낌 ㅋ)이번에는 Spring Security의 SecurityContextHolder를 활용해서 인증 정보를 중앙에서 관리하는 방식으로 개선해 보려고한다또한, 학생과 선생님이라는 서로 다른 역할에 맞게 인증 로직을 분리해, 역할 기반으로 안전하고 확장 가능한 구조를 만들어가는 과정을 적어보려한다!!!!!!!!! 드가자 슛🔒 SecurityContextHolder를 활용한 인증 정보 처리 개선 이전 방식: Reques..
Sooya186
'Project/Sparkle-Note' 카테고리의 글 목록