권한 관리
💡상품 (Product) 도메인 권한

💡주문 (Order) 도메인 권한

권한 로직
💡Controller
@PostMapping
public ResponseEntity<ApiResponse<HubResponseDto>> createHub(
@Valid @RequestBody HubCreateRequestDto request,
@RequestHeader("X-User-Id") Long userId,
@RequestHeader("X-User-Role") String userRole,
@RequestHeader("X-Username") String userNameString) {
if (!"MASTER".equalsIgnoreCase(userRole)) {
throw new GlobalException(HubErrorCode.MASTER_ONLY);
}
CreateHubCommand command = request.toCommand(userId);
HubResult result = hubService.createHub(command);
HubResponseDto response = HubResponseDto.from(result);
return ApiResponseEntity.success(response);
}
💡전체 실행 흐름
1. 클라이언트가 HTTP 요청 보냄
- POST /hubs (예시)
- Body
- HubCreateRequestDto에 매핑될 JSON
- Headers
- X-User-Id : 123
- X-User-Role : MASTER
- X-Username : sati
- 여기서 핵심은, 이 헤더들은 Spring이 자동으로 꺼내서 파라미터에 주입한다는 점
2. 스프링이 매핑되는 컨트롤러 메서드 찾음
- @PostMapping이 붙은 메서드가 해당 경로/HTTP 메서드와 매칭되면 실행 대상으로 선택됨
참고 자료
https://github.com/ElevenHub/HubEleven/pull/89/files?diff=split&w=0
[refactor] 허브(Hub) 권한 및 userId 연결 by hinoyat · Pull Request #89 · ElevenHub/HubEleven
#️⃣연관된 이슈 #88 🪄작업 내용 gateway에서 받아온 사용자 정보 사용하도록 리팩토링 했습니다.
github.com
'Projects > HubEleven' 카테고리의 다른 글
| [리팩토링] 권한 별 기능 제한 로직 구현 (2) (업데이트 중..) (0) | 2026.01.08 |
|---|---|
| [리팩토링] Swagger Request DTO 메서드 충돌 트러블슈팅 (0) | 2026.01.06 |
| [동시성 처리] 테스트 코드 런타임 에러 발생 (업데이트 중..) (0) | 2026.01.05 |
| [동시성 처리] 재고 감소 통합 테스트 코드 3 - Test Fixture (0) | 2026.01.01 |
| [리팩토링] Stock 도메인 리팩토링 (2) (0) | 2025.12.27 |