메뉴 권한별 레디스저장 권한 조건 추가

This commit is contained in:
2025-12-19 16:16:36 +09:00
parent 95f34bc0b8
commit 2760cabdd5
2 changed files with 11 additions and 2 deletions

View File

@@ -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<Void> getFindByRoleRedis() {
public ApiResponseDto<Void> getFindByRoleRedis() throws AccessDeniedException {
menuService.getFindByRoleRedis();
return ApiResponseDto.createOK(null);
}

View File

@@ -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<MenuDto.Basic> 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<MenuDto.Basic> menus = menuCoreService.getFindByRole(role.name());