관리자권한부여

This commit is contained in:
dyhj625 2025-03-14 13:16:31 +09:00
parent 214f4ec8a0
commit 87bf1c37de
5 changed files with 83 additions and 1 deletions

View File

@ -36,6 +36,7 @@ public class MapBasedUrlRoleMapper implements UrlRoleMapper{
urlRoleMappings.put("/api/worddict/**", PERMIT_ALL); urlRoleMappings.put("/api/worddict/**", PERMIT_ALL);
urlRoleMappings.put("/api/quilleditor/**", PERMIT_ALL); urlRoleMappings.put("/api/quilleditor/**", PERMIT_ALL);
urlRoleMappings.put("/api/commuters/**", PERMIT_ALL); urlRoleMappings.put("/api/commuters/**", PERMIT_ALL);
urlRoleMappings.put("/api/admin/**", PERMIT_ALL);
return new HashMap<>(urlRoleMappings); return new HashMap<>(urlRoleMappings);
} }
} }

View File

@ -0,0 +1,65 @@
/************************************************************
*
* @packageName : io.company.localhost.controller.api
* @fileName : AdminController.java
* @author : 서지희
* @date : 25.03.14
* @description : 게시판
*
* ===========================================================
* DATE AUTHOR NOTE
* -----------------------------------------------------------
* 25.03.14 서지희 최초 생성
*
*************************************************************/
package io.company.localhost.controller.api;
import java.util.List;
import org.springframework.security.crypto.password.PasswordEncoder;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import io.company.localhost.common.annotation.Member;
import io.company.localhost.common.annotation.ParameterCheck;
import io.company.localhost.common.annotation.ReqMap;
import io.company.localhost.common.dto.ApiResponse;
import io.company.localhost.common.dto.MapDto;
import io.company.localhost.service.NetmemberService;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
@RestController
@RequestMapping("/api/admin")
@RequiredArgsConstructor
@Slf4j
public class AdminController {
private final NetmemberService netmemberService;
@Member
@ParameterCheck
@GetMapping("/users")
public ApiResponse<List<MapDto>> getAllUsers() {
List<MapDto> response = netmemberService.getallUserList();
return ApiResponse.ok(response);
}
@PutMapping("/role")
public ApiResponse<String> updateUserRole(@ReqMap MapDto map) {
// 요청 데이터에서 id와 role 추출
Long id = Long.valueOf(map.get("id").toString());
String role = map.get("role").toString();
// 역할 변환
String newRole = role.equalsIgnoreCase("ADMIN") ? "ROLE_ADMIN" : "ROLE_USER";
// 권한 업데이트 서비스 호출
netmemberService.updateUserRole(id, newRole);
return ApiResponse.ok("관리자 권한이 변경되었습니다.");
}
}

View File

@ -43,5 +43,7 @@ public interface NetmemberMapper {
int updatePassword(MapDto map); int updatePassword(MapDto map);
List<MapDto> getallUserList(); List<MapDto> getallUserList();
void updateUserRole(Long id, String role);
} }

View File

@ -122,6 +122,16 @@ public class NetmemberService {
public List<MapDto> getallUserList() { public List<MapDto> getallUserList() {
return memberMapper.getallUserList(); return memberMapper.getallUserList();
} }
/**
* 사원 권한 업데이트
*
* @param
* @return
*/
public void updateUserRole(Long id, String newRole) {
memberMapper.updateUserRole(id, newRole);
}
/** /**
* 로그인 토큰 * 로그인 토큰
@ -132,7 +142,7 @@ public class NetmemberService {
public void updateMemberToken(MapDto map) { public void updateMemberToken(MapDto map) {
memberMapper.updateMemberToken(map); memberMapper.updateMemberToken(map);
} }
/** /**
* 비밀번호 재설정 member 체크 * 비밀번호 재설정 member 체크
* *

View File

@ -151,5 +151,9 @@
AND AND
m.MEMBERLEA ="N" m.MEMBERLEA ="N"
</select> </select>
<update id="updateUserRole">
UPDATE netmember SET MEMBERROL = #{role} WHERE MEMBERSEQ = #{id}
</update>
</mapper> </mapper>