메뉴권한관리 표현방식 변경.

로그인 제한 주석 수정.
thkim
강석 최 2024-03-12 18:01:54 +09:00
parent 33da2b2129
commit 100656b50f
3 changed files with 37 additions and 30 deletions

View File

@ -182,14 +182,12 @@
.menuList .result .list_item > div:nth-child(5) {width: 100px;} .menuList .result .list_item > div:nth-child(5) {width: 100px;}
/* 사이트관리 > 환경설정 > 메뉴권한관리 */ /* 사이트관리 > 환경설정 > 메뉴권한관리 */
.roleList .head > span:nth-child(1) {width: 120px;} .roleList .head > span:nth-child(1) {width: 180px;}
.roleList .head > span:nth-child(2) {width: 180px;} .roleList .head > span:nth-child(2) {width: 120px;}
.roleList .head > span:nth-child(3) {width: 120px;}
.roleList .head .checkboxDiv {width: 60px;} .roleList .head .checkboxDiv {width: 60px;}
.roleList .head .saveBtnDiv {width: 100px;} .roleList .head .saveBtnDiv {width: 100px;}
.roleList .result .list_item > div:nth-child(1) {width: 120px;} .roleList .result .list_item > div:nth-child(1) {width: 180px;}
.roleList .result .list_item > div:nth-child(2) {width: 180px;} .roleList .result .list_item > div:nth-child(2) {width: 120px;}
.roleList .result .list_item > div:nth-child(3) {width: 120px;}
.roleList .result .list_item .checkboxDiv {width: 60px;} .roleList .result .list_item .checkboxDiv {width: 60px;}
.roleList .result .list_item .saveBtnDiv {width: 100px;} .roleList .result .list_item .saveBtnDiv {width: 100px;}

View File

@ -29,6 +29,7 @@ function MenuAuthMgt(props) {
// //
menuList.forEach(function (item, index) { menuList.forEach(function (item, index) {
const checkboxs = []; const checkboxs = [];
roleList.forEach(function (role) { roleList.forEach(function (role) {
checkboxs.push( checkboxs.push(
<div className={"checkboxDiv"}> <div className={"checkboxDiv"}>
@ -44,12 +45,19 @@ function MenuAuthMgt(props) {
defaultChecked={item.menuAuth.includes(role.itemCd)}/> defaultChecked={item.menuAuth.includes(role.itemCd)}/>
</div> </div>
) )
/*if(item.menuGroup){
}else{
checkboxs.push(
<div className={"checkboxDiv"}></div>
)
}*/
}); });
mutListTag.push( mutListTag.push(
<div className={"list_item"} key={"userListDiv_"+index}> <div className={"list_item"} key={"userListDiv_"+index}>
<div>{item.menuId}</div> <div>{item.menuGroup?'└ ':''}{item.menuId}</div>
<div>{item.menuTitle}</div> <div>{item.menuTitle}</div>
<div>{item.menuGroup}</div>
{checkboxs} {checkboxs}
<div className={"saveBtnDiv"}> <div className={"saveBtnDiv"}>
<button className={"btn btn_blue_h31 px-1"} onClick={()=>{editMenu(item)}}>저장</button> <button className={"btn btn_blue_h31 px-1"} onClick={()=>{editMenu(item)}}>저장</button>
@ -73,27 +81,25 @@ function MenuAuthMgt(props) {
},[]); },[]);
function editMenu(menu){ function editMenu(menu){
if(window.confirm("수정하시겠습니까?")) { EgovNet.requestFetch(
EgovNet.requestFetch( '/admin/config/menu-auth-mgt',
'/admin/config/menu-auth-mgt', {
{ method: "PUT",
method: "PUT", headers: {
headers: { 'Content-type': 'application/json'
'Content-type': 'application/json'
},
body: JSON.stringify(menu)
}, },
(resp) => { body: JSON.stringify(menu)
if (Number(resp.resultCode) === Number(CODE.RCV_SUCCESS)) { },
alert("수정되었습니다.") (resp) => {
} else if (Number(resp.resultCode) === Number(CODE.RCV_ERROR_AUTH)) { if (Number(resp.resultCode) === Number(CODE.RCV_SUCCESS)) {
console.log("토큰 갱신중.") alert("수정되었습니다.")
} else { } else if (Number(resp.resultCode) === Number(CODE.RCV_ERROR_AUTH)) {
alert(resp.result.resultMessage) console.log("토큰 갱신중.")
} } else {
alert(resp.result.resultMessage)
} }
) }
} )
} }
useEffect(()=>{ useEffect(()=>{
@ -126,7 +132,6 @@ function MenuAuthMgt(props) {
<div className="head"> <div className="head">
<span>메뉴 코드</span> <span>메뉴 코드</span>
<span>메뉴 이름</span> <span>메뉴 이름</span>
<span>부모 메뉴</span>
{roleHeader} {roleHeader}
<span className={"saveBtnDiv"}></span> <span className={"saveBtnDiv"}></span>
</div> </div>

View File

@ -63,7 +63,9 @@ public class CustomUrlAuthenticationSuccessHandler extends SimpleUrlAuthenticati
MediaType jsonMimeType = MediaType.APPLICATION_JSON; MediaType jsonMimeType = MediaType.APPLICATION_JSON;
HashMap<String, Object> resultMap = new HashMap<>(); HashMap<String, Object> resultMap = new HashMap<>();
/*if(securityUser.getUserId().equals("admin") && !adminIpList.contains(accessIp)){ /*
// 관리자 계정 로그인 제한 if문
if(securityUser.getUserId().equals("admin") && !adminIpList.contains(accessIp)){
resultMap.put("resultCode", ResponseCode.FAILED.getCode()); resultMap.put("resultCode", ResponseCode.FAILED.getCode());
resultMap.put("resultMessage", "관리자 계정은 지정된 아이피에서만 접속할 수 있습니다.\n필요한 경우 관리자에게 요청하십시오.\n접속자 아이피: "+ClientUtils.getRemoteIP(request)); resultMap.put("resultMessage", "관리자 계정은 지정된 아이피에서만 접속할 수 있습니다.\n필요한 경우 관리자에게 요청하십시오.\n접속자 아이피: "+ClientUtils.getRemoteIP(request));
}else{ }else{
@ -75,7 +77,8 @@ public class CustomUrlAuthenticationSuccessHandler extends SimpleUrlAuthenticati
//로그인 로그 기록 //로그인 로그 기록
adminLogsService.insertLoginLog(securityUser.getUserId(), accessIp, accessToken, "Y", ClientUtils.getWebType(request)); adminLogsService.insertLoginLog(securityUser.getUserId(), accessIp, accessToken, "Y", ClientUtils.getWebType(request));
}*/ }*/
// 로그인 제한 해제시 주석 해제 및 위 if문 주석처리 할 것.
// 관리자 로그인 제한 해제 위 if문 주석처리 할 것.
String accessToken = jwtTokenUtil.generateAccessToken(securityUser, request.getRemoteAddr()); String accessToken = jwtTokenUtil.generateAccessToken(securityUser, request.getRemoteAddr());
String refreshToken = jwtTokenUtil.generateRefreshTokenToken(securityUser, request.getRemoteAddr()); String refreshToken = jwtTokenUtil.generateRefreshTokenToken(securityUser, request.getRemoteAddr());
resultMap.put("resultCode", ResponseCode.SUCCESS.getCode()); resultMap.put("resultCode", ResponseCode.SUCCESS.getCode());
@ -83,6 +86,7 @@ public class CustomUrlAuthenticationSuccessHandler extends SimpleUrlAuthenticati
resultMap.put("refreshToken", refreshToken); resultMap.put("refreshToken", refreshToken);
adminLogsService.insertLoginLog(securityUser.getUserId(), accessIp, accessToken, "Y", ClientUtils.getWebType(request)); adminLogsService.insertLoginLog(securityUser.getUserId(), accessIp, accessToken, "Y", ClientUtils.getWebType(request));
if (jsonConverter.canWrite(resultMap.getClass(), jsonMimeType)) { if (jsonConverter.canWrite(resultMap.getClass(), jsonMimeType)) {
jsonConverter.write(resultMap, jsonMimeType, new ServletServerHttpResponse(response)); jsonConverter.write(resultMap, jsonMimeType, new ServletServerHttpResponse(response));
} }