-
Notifications
You must be signed in to change notification settings - Fork 5
Closed
Labels
Description
1. 구분
- BackEnd
- Infra
- ETC
2. 대분류
- feat
- refactor
- settings
- etc
3. 작업의 주 내용에 대해서 작성해주세요
회원정보 조회 API 개발 - 실시간 프로필 정보 조회 및 보안 강화
4. 세부 작업에 대해서 작성해주세요
회원정보 조회 응답 DTO 구현
- UserProfileResponseDto 생성 (프로필 정보 응답 데이터)
- 민감정보 제외 (비밀번호, deletedAt 등 숨김 처리)
- 권한별 정보 차등 제공 (CUSTOMER는 businessNumber null)
- 정적 팩토리 메서드 패턴 적용 (from() 메서드)
- Lombok 어노테이션 적용 (@Getter, @Setter, @NoArgsConstructor)
회원정보 조회 서비스 로직 구현
- UserService.getUserProfile() 메서드 구현
- 실시간 DB 조회로 최신 정보 반영
- JWT 토큰에서 사용자 ID 추출하여 조회
- 탈퇴한 사용자 404 처리 (deletedAt 확인)
- @transactional(readOnly = true) 적용
API 컨트롤러 구현
- UserController에 getUserProfile() 메서드 추가
- GET /v1/users/me 엔드포인트 구현
- JWT 토큰 기반 사용자 인증 (@AuthenticationPrincipal)
- Authorization 헤더에서 자동 사용자 정보 추출
- 인증된 사용자만 접근 가능하도록 보안 설정
Spring Security 설정 수정
- SecurityConfig 권한 설정 세분화
- /v1/users/me 경로를 인증된 사용자 모두 접근 가능하도록 설정
- 관리자 전용 경로와 일반 사용자 경로 분리
- requestMatchers 순서 및 범위 조정
실시간 정보 조회 및 보안
- DB에서 최신 사용자 정보 실시간 조회
- 권한 변경 시 즉시 반영 (토큰 권한과 무관하게 DB 권한 우선)
- 탈퇴한 사용자 접근 차단 (404 Not Found 응답)
- 민감정보 노출 방지 (비밀번호, 삭제일 등 제외)
테스트 및 검증
- 포스트맨 Bearer Token 인증 테스트 성공
- SecurityConfig 수정으로 GET 메서드 지원 확인
Reactions are currently unavailable