From 2760cabdd5a10c7954f4c4d715a6690d8d09fcc7 Mon Sep 17 00:00:00 2001 From: teddy Date: Fri, 19 Dec 2025 16:16:36 +0900 Subject: [PATCH] =?UTF-8?q?=EB=A9=94=EB=89=B4=20=EA=B6=8C=ED=95=9C?= =?UTF-8?q?=EB=B3=84=20=EB=A0=88=EB=94=94=EC=8A=A4=EC=A0=80=EC=9E=A5=20?= =?UTF-8?q?=EA=B6=8C=ED=95=9C=20=EC=A1=B0=EA=B1=B4=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/kamco/cd/kamcoback/menu/MenuApiController.java | 3 ++- .../kamco/cd/kamcoback/menu/service/MenuService.java | 10 +++++++++- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/kamco/cd/kamcoback/menu/MenuApiController.java b/src/main/java/com/kamco/cd/kamcoback/menu/MenuApiController.java index 93dd3dfe..baff5190 100644 --- a/src/main/java/com/kamco/cd/kamcoback/menu/MenuApiController.java +++ b/src/main/java/com/kamco/cd/kamcoback/menu/MenuApiController.java @@ -12,6 +12,7 @@ import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.responses.ApiResponse; import io.swagger.v3.oas.annotations.responses.ApiResponses; import io.swagger.v3.oas.annotations.tags.Tag; +import java.nio.file.AccessDeniedException; import java.util.LinkedHashMap; import java.util.List; import lombok.RequiredArgsConstructor; @@ -85,7 +86,7 @@ public class MenuApiController { @ApiResponse(responseCode = "500", description = "서버 오류", content = @Content) }) @PostMapping("/auth") - public ApiResponseDto getFindByRoleRedis() { + public ApiResponseDto getFindByRoleRedis() throws AccessDeniedException { menuService.getFindByRoleRedis(); return ApiResponseDto.createOK(null); } diff --git a/src/main/java/com/kamco/cd/kamcoback/menu/service/MenuService.java b/src/main/java/com/kamco/cd/kamcoback/menu/service/MenuService.java index dd0cabfc..be354c56 100644 --- a/src/main/java/com/kamco/cd/kamcoback/menu/service/MenuService.java +++ b/src/main/java/com/kamco/cd/kamcoback/menu/service/MenuService.java @@ -4,8 +4,10 @@ import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.JavaType; import com.fasterxml.jackson.databind.ObjectMapper; import com.kamco.cd.kamcoback.common.enums.RoleType; +import com.kamco.cd.kamcoback.common.utils.UserUtil; import com.kamco.cd.kamcoback.menu.dto.MenuDto; import com.kamco.cd.kamcoback.postgres.core.MenuCoreService; +import java.nio.file.AccessDeniedException; import java.util.ArrayList; import java.util.List; import lombok.RequiredArgsConstructor; @@ -20,6 +22,7 @@ public class MenuService { private final MenuCoreService menuCoreService; private final StringRedisTemplate redisTemplate; private final ObjectMapper objectMapper; + private final UserUtil userUtil; @Cacheable(value = "menuFindAll") public List getFindAll() { @@ -31,7 +34,12 @@ public class MenuService { * * @return */ - public void getFindByRoleRedis() { + public void getFindByRoleRedis() throws AccessDeniedException { + + if (!userUtil.getRole().equals(RoleType.ADMIN.getId())) { + throw new AccessDeniedException("권한을 확인해 주세요."); + } + for (RoleType role : RoleType.values()) { List menus = menuCoreService.getFindByRole(role.name());