국토교통부 외 계정 잠금 처리

main
유지인 2025-11-03 14:19:35 +09:00
parent 5b8d1e0b03
commit 1cb5599a54
1 changed files with 91 additions and 66 deletions

View File

@ -58,6 +58,7 @@ import egovframework.com.cmm.EgovMessageSource;
import egovframework.com.cmm.service.EgovProperties;
import egovframework.rte.psl.dataaccess.util.EgovMap;
import geoinfo.com.GeoinfoCommon;
import geoinfo.drilling.input.service.DrillingInputService;
import geoinfo.main.login.service.LoginService;
import geoinfo.main.main.MainController;
import geoinfo.map.mapControl.service.MapControlService;
@ -80,6 +81,9 @@ public class LoginController {
@Resource(name = "loginService")
private LoginService loginService;
@Resource(name = "drillingInputService")
DrillingInputService drillingInputService;
@Resource(name="egovMessageSource")
EgovMessageSource egovMessageSource;
@ -802,7 +806,7 @@ public class LoginController {
// 로그인 횟수 제한 : 10분설정시 1/(24*6) 5분설정시 1/(24*12)
map.put("userid", userid);
Map<String, Object> selectWebMemberIn = loginService.selectWebMemberIn(map);
cls = selectWebMemberIn.get("cls").toString();
boolean adminYn = false;
@ -1041,6 +1045,26 @@ public class LoginController {
}
else {
// 국토부 소속+산하기관 계정만 로그인 허용(국토부소속+산하기관:GL_CODE = 01)
HashMap<String, Object> userGMap = drillingInputService.getOrganizationUserGlGmGsGfCodes(userid);
String glCode = MyUtil.getStringFromObject( userGMap.get("v_gl") );
if (!"01".equals(glCode)) {
msg = "<script>alert('해당 계정은 현재 잠김 상태입니다');</script>";
url = "index.do?cntyn=0";
// --------------- 로그인 세션 정보 초기화 ---------------------
request.getSession().removeAttribute("USERID");
request.getSession().removeAttribute("USERNAME");
request.getSession().removeAttribute("COMPANYNAME");
request.getSession().removeAttribute("MASTERCODE");
request.getSession().removeAttribute("CLS");
request.getSession().removeAttribute("GOVECODE");
request.getSession().removeAttribute("USERIP"); // IP 추가
request.getSession().removeAttribute("USERAGENT"); // 접속 브라우져 정보
request.getSession().removeAttribute("PARTNNAME");
request.getSession().removeAttribute("PHONE");
request.getSession().removeAttribute("EMAIL");
// --------------- 로그인 세션 정보 초기화 END ----------------
} else {
// 로그인 성공시 실패회수 초기화
map.put("loginCount", 0);
@ -1110,6 +1134,7 @@ public class LoginController {
}
}
}
}
} else {
if ( loginCnt >= 5) {
msg = "<script>alert('현재 "+loginCnt+"회이상 로그인 실패하여 로그인이 제한되었습니다.관리자(031-910-0402)에게 문의바랍니다.');</script>";