diff --git a/src/main/java/kcc/com/cmm/LoginVO.java b/src/main/java/kcc/com/cmm/LoginVO.java index d030d097..d5703421 100644 --- a/src/main/java/kcc/com/cmm/LoginVO.java +++ b/src/main/java/kcc/com/cmm/LoginVO.java @@ -116,6 +116,10 @@ public class LoginVO implements Serializable{ private String compTitle; private String isSelect; + /* 관리자 로그인 유형 001 : IP제어, 002 : OTP */ + private String loginTypeCd; + + private String certNum = ""; public String getId() { return id; @@ -402,6 +406,17 @@ public class LoginVO implements Serializable{ public void setIsSelect(String isSelect) { this.isSelect = isSelect; } - + public String getLoginTypeCd() { + return loginTypeCd; + } + public void setLoginTypeCd(String loginTypeCd) { + this.loginTypeCd = loginTypeCd; + } + public String getCertNum() { + return certNum; + } + public void setCertNum(String certNum) { + this.certNum = certNum; + } } diff --git a/src/main/java/kcc/kccadr/adjreqmgr/service/AdjReqMgrVO.java b/src/main/java/kcc/kccadr/adjreqmgr/service/AdjReqMgrVO.java index c8ec0423..66615c1f 100644 --- a/src/main/java/kcc/kccadr/adjreqmgr/service/AdjReqMgrVO.java +++ b/src/main/java/kcc/kccadr/adjreqmgr/service/AdjReqMgrVO.java @@ -251,6 +251,8 @@ public class AdjReqMgrVO extends ComDefaultVO implements Serializable{ * * */ + private String smsSendSeq; // SMS 발송 로그 PK + public AdjReqMgrVO getAdrVO() { return adrVO; } @@ -1185,6 +1187,13 @@ public class AdjReqMgrVO extends ComDefaultVO implements Serializable{ public void setEmailSendResult(String emailSendResult) { this.emailSendResult = emailSendResult; } + public String getSmsSendSeq() { + return smsSendSeq; + } + public void setSmsSendSeq(String smsSendSeq) { + this.smsSendSeq = smsSendSeq; + } + diff --git a/src/main/java/kcc/kccadr/cmm/service/SMSOracleService.java b/src/main/java/kcc/kccadr/cmm/service/SMSOracleService.java index d9a0559a..e4af18df 100644 --- a/src/main/java/kcc/kccadr/cmm/service/SMSOracleService.java +++ b/src/main/java/kcc/kccadr/cmm/service/SMSOracleService.java @@ -38,4 +38,7 @@ public interface SMSOracleService { // SMS 작성 메세지 전송(저작위 SMS서버 DB등록) public String insertSmsCustomSend(AdjReqMgrVO adjReqMgrVO) throws Exception; + + // SMS OTP 인증번호 발송(저작위 SMS서버 DB등록) + public String insertSmsOtpCertNumSend(AdjReqMgrVO adjReqMgrVO) throws Exception; } diff --git a/src/main/java/kcc/kccadr/cmm/service/impl/SMSOracleServiceImpl.java b/src/main/java/kcc/kccadr/cmm/service/impl/SMSOracleServiceImpl.java index ff3798b1..cd29c9cc 100644 --- a/src/main/java/kcc/kccadr/cmm/service/impl/SMSOracleServiceImpl.java +++ b/src/main/java/kcc/kccadr/cmm/service/impl/SMSOracleServiceImpl.java @@ -23,6 +23,7 @@ import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl; +import egovframework.rte.fdl.idgnr.EgovIdGnrService; import egovframework.rte.psl.dataaccess.util.EgovMap; import kcc.com.cmm.service.EgovProperties; import kcc.com.cmm.util.StringUtil2; @@ -73,6 +74,9 @@ public class SMSOracleServiceImpl extends EgovAbstractServiceImpl implements SM //발송문구 관리 @Resource(name = "MsgMgrDAO") private MsgMgrDAO msgMgrDAO; + + @Resource(name = "adrSmsLogGnrService") + private EgovIdGnrService idgenService; // 오라클 연동 테스트 @@ -650,10 +654,10 @@ public class SMSOracleServiceImpl extends EgovAbstractServiceImpl implements SM int bytes = adjReqMgrVO.getSendMsg().getBytes("euc-kr").length; // 발송메시지 바이트수 if (bytes > 90) { -// sMSOracleDAO.insertMmsCustomSend(adjReqMgrVO); // SMS 등록 장문 > SMS DB(오라클) + sMSOracleDAO.insertMmsCustomSend(adjReqMgrVO); // SMS 등록 장문 > SMS DB(오라클) adjReqMgrDAO.insertAdrMmsCustomSend(adjReqMgrVO); // SMS 이력 등록 장문 > 전자조정 } else { -// sMSOracleDAO.insertSmsCustomSend(adjReqMgrVO); // SMS 등록 단문 > SMS DB(오라클) + sMSOracleDAO.insertSmsCustomSend(adjReqMgrVO); // SMS 등록 단문 > SMS DB(오라클) adjReqMgrDAO.insertAdrSmsCustomSend(adjReqMgrVO); // SMS 이력 등록 단문 > 전자조정 } //sms 발송 관리 테이블에 저장 @@ -668,6 +672,64 @@ public class SMSOracleServiceImpl extends EgovAbstractServiceImpl implements SM LOGGER.debug("SMS 전송DB 등록 결과:[" + result +"]"); return result; } + + @Override + public String insertSmsOtpCertNumSend(AdjReqMgrVO adjReqMgrVO) throws Exception { + String result = "FAIL"; + try { + /* + * 1. adjReqMgrVO로 수신자(trPhone), 메시지(sendMsg), 사건번호(adrNo)를 파라미터로 받는다. + * 2. 정해진 송신자, 시스템 구분자는 미리 정의된 globals.properties 에서 받는다. + * 3. 저작위 SMS 발송 DB로 insert + * 4. 발송 이력을 남긴다. + * + * */ + adjReqMgrVO.setTrId(trId); // 시스템 구분자 + adjReqMgrVO.setSendTelNo(sendTelNo); // 송신자 번호 + adjReqMgrVO.setSmsTy("000"); //문자 발송 문구 분류 + /* + * smsTy + * 000 - 관리자발송 + * 001 - 보완요청 + * 002 - 수수료납부요청 + * 003 - 조정접수 + * 004 - 기일통지서승인 + * 005 - 기일조서 결재완료 + * 006 - 조정조서 결재완료 + * 007 - 직권조정결정서 확인완료 + * 008 - 없음 + * 009 - 조정불성립 + * + * */ + + int bytes = adjReqMgrVO.getSendMsg().getBytes("euc-kr").length; // 발송메시지 바이트수 + + if (bytes > 90) { + sMSOracleDAO.insertMmsCustomSend(adjReqMgrVO); // SMS 등록 장문 > SMS DB(오라클) + adjReqMgrDAO.insertAdrMmsCustomSend(adjReqMgrVO); // SMS 이력 등록 장문 > 전자조정 + } else { + sMSOracleDAO.insertSmsCustomSend(adjReqMgrVO); // SMS 등록 단문 > SMS DB(오라클) + adjReqMgrDAO.insertAdrSmsCustomSend(adjReqMgrVO); // SMS 이력 등록 단문 > 전자조정 + } + //sms 발송 관리 테이블에 저장 + adjReqMgrVO.setRpplNm(""); + + String smsSendSeq = idgenService.getNextStringId(); + + adjReqMgrVO.setSmsSendSeq(smsSendSeq); + + msgMgrDAO.insertAdrOtpCertNumSmsLog(adjReqMgrVO); // SMS 이력 등록 단문 > 전자조정 + + result = "SUCCESS"; + } catch (Exception e) { + System.out.println("Exception Occured!!!"); + } + + LOGGER.debug("SMS 전송DB 등록 결과:[" + result +"]"); + return result; + } + + } diff --git a/src/main/java/kcc/kccadr/kccadrCom/web/otpCertUtil.java b/src/main/java/kcc/kccadr/kccadrCom/web/otpCertUtil.java new file mode 100644 index 00000000..69296376 --- /dev/null +++ b/src/main/java/kcc/kccadr/kccadrCom/web/otpCertUtil.java @@ -0,0 +1,67 @@ +package kcc.kccadr.kccadrCom.web; + +import java.text.SimpleDateFormat; +import java.util.Calendar; +import java.util.Date; + +import kcc.let.uss.umt.service.UserManageVO; + +public class otpCertUtil { + + /** + * @Method Name : mjonSmsCertCheck + * @작성일 : 2022. 8. 25. + * @작성자 : 이준호 + * @Method 설명 : 미허용 IP 관리자 페이지 로그인 시 SMS인증번호 체크 + */ + public String otpCertUtil(String phone, String certNum, String mberId) throws Exception{ +// try { + + UserManageVO userManageVO = new UserManageVO(); + + // userManageVO set + userManageVO.setCertNum(certNum); + userManageVO.setMoblphonNo(phone); + userManageVO.setEmplyrId(mberId); + +// // SendLogVO set +// SendLogVO sendLogVO = new SendLogVO(); +// sendLogVO.setReceive(userManageVO.getMoblphonNo()); +// +// // 인증번호 가져오기 +// sendLogVO = mjonMsgDataService.selectSysMsgLog(sendLogVO); +// if (sendLogVO == null) { +// return "empty"; +// } else { +// // 시간 비교 +// SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); +// Date nowdate = new Date(); +// Date compareDate = format.parse(sendLogVO.getFrstSendPnttm()); +// +// Calendar cal = Calendar.getInstance(); +// cal.setTime(compareDate); +// // 5분 추가 +// cal.add(Calendar.MINUTE, +5); +// +// compareDate = cal.getTime(); +// +// // 인증번호을 발송한지 5분 이내일때 +// if (compareDate.after(nowdate)) { +// UserManageVO checkUser = userManageService.selectAdminUserSmsCertCheck(userManageVO); +// +// if (checkUser != null) { +// return "success"; +// } else { +// return "checkNoFail"; +// } +// } else { +// return "timeOut"; +// } +// } + +// } catch (Exception e) { + return "exception"; +// } +// } + } +} diff --git a/src/main/java/kcc/kccadr/msg/service/impl/MsgMgrDAO.java b/src/main/java/kcc/kccadr/msg/service/impl/MsgMgrDAO.java index a433dea9..68f5daa2 100644 --- a/src/main/java/kcc/kccadr/msg/service/impl/MsgMgrDAO.java +++ b/src/main/java/kcc/kccadr/msg/service/impl/MsgMgrDAO.java @@ -74,4 +74,9 @@ public class MsgMgrDAO extends EgovAbstractDAO { insert("MsgMgrDAO.insertAdrSmsCustomLog", adjReqMgrVO); } + + public void insertAdrOtpCertNumSmsLog(AdjReqMgrVO adjReqMgrVO) throws Exception{ + + insert("MsgMgrDAO.insertAdrOtpCertNumSmsLog", adjReqMgrVO); + } } diff --git a/src/main/java/kcc/let/uat/uia/service/impl/EgovLoginServiceImpl.java b/src/main/java/kcc/let/uat/uia/service/impl/EgovLoginServiceImpl.java index d6155d25..1409f77a 100644 --- a/src/main/java/kcc/let/uat/uia/service/impl/EgovLoginServiceImpl.java +++ b/src/main/java/kcc/let/uat/uia/service/impl/EgovLoginServiceImpl.java @@ -66,6 +66,17 @@ public class EgovLoginServiceImpl extends EgovAbstractServiceImpl implements // 3. 결과를 리턴한다. if (loginVO != null && !loginVO.getId().equals("") && !loginVO.getPassword().equals("")) { + // 사용자 로그인 타입(001 : IP제어, 002 : OTP) select 후 set + String loginType = ""; + loginType = loginDAO.selectLoginType(loginVO.getId()); + + if(!"".equals(loginType)) { + loginVO.setLoginTypeCd(loginType); + }else { + //로그인 타입이 없을경우 IP제어로 set + loginVO.setLoginTypeCd("001"); + } + return loginVO; } else { loginVO = new LoginVO(); diff --git a/src/main/java/kcc/let/uat/uia/service/impl/LoginDAO.java b/src/main/java/kcc/let/uat/uia/service/impl/LoginDAO.java index 7a5dd4f3..d3014b93 100644 --- a/src/main/java/kcc/let/uat/uia/service/impl/LoginDAO.java +++ b/src/main/java/kcc/let/uat/uia/service/impl/LoginDAO.java @@ -129,4 +129,8 @@ public class LoginDAO extends EgovAbstractDAO { } + public String selectLoginType(String str) throws Exception{ + return (String)select("loginDAO.selectLoginType", str); + } + } diff --git a/src/main/java/kcc/let/uat/uia/web/EgovLoginController.java b/src/main/java/kcc/let/uat/uia/web/EgovLoginController.java index 3310e6bb..59280c2b 100644 --- a/src/main/java/kcc/let/uat/uia/web/EgovLoginController.java +++ b/src/main/java/kcc/let/uat/uia/web/EgovLoginController.java @@ -63,7 +63,9 @@ import kcc.com.cmm.EgovMessageSource; import kcc.com.cmm.LoginVO; import kcc.com.cmm.captcha.CaptchaUtil; import kcc.com.cmm.spring.data.util.ProfileUtil; +import kcc.com.cmm.util.StringUtil; import kcc.com.cmm.util.WebUtil; +import kcc.kccadr.adjreqmgr.service.AdjReqMgrVO; import kcc.kccadr.cmm.service.SMSOracleService; import kcc.let.sym.log.clg.service.EgovLoginLogService; import kcc.let.sym.log.clg.service.LoginLog; @@ -202,8 +204,9 @@ public class EgovLoginController { return "redirect:/cmm/main/mainPage.do"; // initRsa(request); + //로그인 페이지 접근시 IP체크 제거_로그인 버튼 클릭 시 로그인 유형에 따라 체크로 변경_221011_이준호 // 로그인 페이지 IP 체크 - List loginPolicyGroupList = new ArrayList(); + /*List loginPolicyGroupList = new ArrayList(); LoginPolicyVO loginPolicyVOCheck = new LoginPolicyVO(); String userIpCheck = EgovClntInfo.getClntIP(request); LOGGER.debug("userIpCheck: [" + userIpCheck + "]"); @@ -223,7 +226,7 @@ public class EgovLoginController { // 1. Spring Security 사용자권한 처리 if (!ipCheck) { return "/cmm/error/ipFailure"; - } + }*/ if (!isAuthenticated) { // model.addAttribute("message", // egovMessageSource.getMessage("fail.common.login")); @@ -512,6 +515,12 @@ public class EgovLoginController { // initRsa(request); return "uat/uia/EgovLoginUsr"; } + + /* + * OTP 문자인증을 위한 변수 + * */ + String authSelfId = loginVO.getId(); + String authSelfPw = loginVO.getPassword2(); loginVO.setId(loginVO.getId()); @@ -536,6 +545,85 @@ public class EgovLoginController { // 1. 로그인 처리 LoginVO resultVO = loginService.actionLogin(loginVO); + /* + * 미허용 IP 인증번호 비교 flag + * false : 인증번호 비교 결과 맞음 + * true : 인증번호 비교 결과 틀림 + * + */ + Boolean otpCertFlag = false; + +// if(StringUtil.isNotEmpty(loginVO.getCertNum()) && "002".equals(resultVO.getLoginTypeCd())) { +// +// //수신자 +// String callTo = resultVO.getMoblphonNo(); +// String checkNo = loginVO.getCheckNo(); +// String mberId = resultVO.getId(); +// +// /* +// * 인증번호 비교 +// * return +// * empty = "인증번호 발송 내역이 없습니다. 최고관리자에게 문의하세요." +// * success = "5분이내 발송 내역 비교, 인증번호 비교 시 일치" +// * smsCertFlag = true +// * checkNoFail = "인증번호를 확인해 주세요" +// * timeOut = "인증번호 시간이 초과되었습니다. \\n 인증번호를 다시 발송합니다." +// * Exception = "에러가 발생하였습니다. 다시 시도해 주세요. \\n 에러가 지속될 시 최고관리자에게 문의하세요."; +// * final = "exception"; +// * +// * 실패 시 passMiss 숫자++ update +// * loginService.updatePassMissPlus(loginVO); +// * +// * */ +// String result = otpCertUtil.otpCertUtil(callTo, checkNo, mberId); +// +// if(result.equals("empty")) { +// loginService.updatePassMissPlus(loginVO); +// model.addAttribute("message", "인증번호 발송 내역이 없습니다. 최고관리자에게 문의하세요."); +// initRsa(request); +// return "uat/uia/EgovLoginUsr"; +// } else if(result.equals("success")) { +// smsCertFlag = true; +// } else if(result.equals("checkNoFail")) { +// loginService.updatePassMissPlus(loginVO); +// model.addAttribute("message", "인증번호를 확인해 주세요"); +// model.addAttribute("message_auth", "미허용 IP에서 접속하셨습니다. \\n등록 된 휴대폰 번호로 발송된 인증번호를 입력해주세요."); +// model.addAttribute("mode", "본인인증"); +// model.addAttribute("id", resultVO.getId()); +// model.addAttribute("password", authSelfPw); +// +// //인증문자 발송 +// mjonSmsCertSendUtil.mjonSmsCertSend(callTo); +// +// initRsa(request); +// return "uat/uia/EgovLoginUsr"; +// } else if(result.equals("timeOut")) { +// model.addAttribute("message", "인증번호 시간이 초과되었습니다. \\n 인증번호를 다시 발송합니다."); +// model.addAttribute("message_auth", "미허용 IP에서 접속하셨습니다. \\n등록 된 휴대폰 번호로 발송된 인증번호를 입력해주세요."); +// model.addAttribute("mode", "본인인증"); +// model.addAttribute("id", resultVO.getId()); +// model.addAttribute("password", authSelfPw); +// +// //인증문자 발송 +// mjonSmsCertSendUtil.mjonSmsCertSend(callTo); +// +// initRsa(request); +// return "uat/uia/EgovLoginUsr"; +// } else if(result.equals("Exception")) { +// model.addAttribute("message", "에러가 발생하였습니다. 다시 시도해 주세요. \\\\n 에러가 지속될 시 최고관리자에게 문의하세요."); +// model.addAttribute("message_auth", "미허용 IP에서 접속하셨습니다. \\n등록 된 휴대폰 번호로 발송된 인증번호를 입력해주세요."); +// model.addAttribute("mode", "본인인증"); +// model.addAttribute("id", resultVO.getId()); +// model.addAttribute("password", authSelfPw); +// +// //인증문자 발송 +// mjonSmsCertSendUtil.mjonSmsCertSend(callTo); +// +// initRsa(request); +// return "uat/uia/EgovLoginUsr"; +// } +// } +// if (loginService.getUserAuth(resultVO) != null) { resultVO.setAuthority(loginService.getUserAuth(resultVO).getAuthority()); } @@ -556,40 +644,66 @@ public class EgovLoginController { } // 2. 허용IP조회 - boolean loginPolicyYn = false; - // String userIp = EgovClntInfo.getClntIP(request); - // 방화벽 아이피 조회 HttpServletRequest req = ((ServletRequestAttributes) RequestContextHolder.currentRequestAttributes()).getRequest(); - String userIp = req.getHeader("X-FORWARDED-FOR"); - if (userIp == null) { - userIp = req.getRemoteAddr(); - } + String userIp = EgovClntInfo.getClntIP(req); +// String userIp = req.getHeader("X-FORWARDED-FOR"); +// if (userIp == null) { +// userIp = req.getRemoteAddr(); +// } - System.out.println("--------userIp-------" + userIp + "-----------------"); - - LoginPolicyVO loginPolicyVO = new LoginPolicyVO(); - loginPolicyVO.setIpInfo(userIp); - - boolean ipCheck = false; - List loginPolicyGroupList = new ArrayList(); - loginPolicyGroupList = egovLoginPolicyService.selectLoginGroupPolicyAll(loginPolicyVO); - if (loginPolicyGroupList != null) { - for (LoginPolicyVO tempPolicyVO : loginPolicyGroupList) { - if (userIp.contains(tempPolicyVO.getIpInfo().trim())) { - ipCheck = true; - break; - } - } - } - - if (!ipCheck) { - model.addAttribute("message", egovMessageSource.getMessage("fail.common.login")); + // 개발중 IP 유형 테스트 +// userIp = "123.456.789.000"; + + /* + * 관리자 로그인 유형 추가_221011 + * loginTypeCd + * 001 : IP제어 + * 002 : OTP + * 1. IP제어 일 시 (001) + * 기존 IP제어 로직 + * 2. OTP 일 시 + * + * */ + + // IP 제어 로그인 + if("001".equals(resultVO.getLoginTypeCd())) { + + LoginPolicyVO loginPolicyVO = new LoginPolicyVO(); + loginPolicyVO.setIpInfo(userIp); + + boolean ipCheck = false; + List loginPolicyGroupList = new ArrayList(); + loginPolicyGroupList = egovLoginPolicyService.selectLoginGroupPolicyAll(loginPolicyVO); + if (loginPolicyGroupList != null) { + for (LoginPolicyVO tempPolicyVO : loginPolicyGroupList) { + if (userIp.contains(tempPolicyVO.getIpInfo().trim())) { + ipCheck = true; + break; + } + } + } + + if (!ipCheck) { + model.addAttribute("message", egovMessageSource.getMessage("fail.common.login")); // initRsa(request); - return "uat/uia/EgovLoginUsr"; + return "uat/uia/EgovLoginUsr"; + } + } - + // OTP 로그인 + else if("002".equals(resultVO.getLoginTypeCd()) && StringUtil.isEmpty(resultVO.getCertNum())){ + + model.addAttribute("mode","OTP"); + + model.addAttribute("message_auth", "미허용 IP에서 접속하셨습니다. \\n 휴대폰 번호를 입력 후 발송된 인증번호를 입력해주세요."); + model.addAttribute("id", resultVO.getId()); + model.addAttribute("password", authSelfPw); + + return "uat/uia/EgovLoginUsr"; + } + // resultVO.siteId 의 각 로그인 ip를 조회함 // if (resultVO != null && resultVO.getId() != null && // !resultVO.getId().equals("") && loginPolicyYn) { @@ -2165,6 +2279,25 @@ public class EgovLoginController { } return returnNode; } + + + /** + * (관리자) OTP인증 인증번호 발송 Ajax + * + * @return model + * @throws Exception + */ + @RequestMapping(value = "/uat/uia/otpCertSmsAjax.do") + public ModelAndView otpCertSmsAjax(@ModelAttribute("adjReqMgrVO") AdjReqMgrVO adjReqMgrVO) throws Exception { + + ModelAndView modelAndView = new ModelAndView(); + modelAndView.setViewName("jsonView"); + + + + + return modelAndView; + } } diff --git a/src/main/java/kcc/let/uss/umt/service/UserManageVO.java b/src/main/java/kcc/let/uss/umt/service/UserManageVO.java index 9d63d265..baef5fe9 100644 --- a/src/main/java/kcc/let/uss/umt/service/UserManageVO.java +++ b/src/main/java/kcc/let/uss/umt/service/UserManageVO.java @@ -176,6 +176,10 @@ public class UserManageVO extends UserDefaultVO{ private String atchFileId; //첨부파일 아이디 + private String loginTypeCd; // 로그인유형 + + private String certNum; // otp 인증번호 + public String getAuthorCode() { return authorCode; } @@ -705,6 +709,20 @@ public class UserManageVO extends UserDefaultVO{ public void setAtchFileId(String atchFileId) { this.atchFileId = atchFileId; } + public String getLoginTypeCd() { + return loginTypeCd; + } + public void setLoginTypeCd(String loginTypeCd) { + this.loginTypeCd = loginTypeCd; + } + public String getCertNum() { + return certNum; + } + public void setCertNum(String certNum) { + this.certNum = certNum; + } + + } \ No newline at end of file diff --git a/src/main/resources/egovframework/spring/com/context-idgen.xml b/src/main/resources/egovframework/spring/com/context-idgen.xml index 279c518f..7929ff6d 100644 --- a/src/main/resources/egovframework/spring/com/context-idgen.xml +++ b/src/main/resources/egovframework/spring/com/context-idgen.xml @@ -2753,7 +2753,18 @@ - - - + + + + + + + + + + + + + + diff --git a/src/main/resources/egovframework/sqlmap/kccadr/msg/Msg_SQL_Mysql.xml b/src/main/resources/egovframework/sqlmap/kccadr/msg/Msg_SQL_Mysql.xml index aef1f2d9..339850e4 100644 --- a/src/main/resources/egovframework/sqlmap/kccadr/msg/Msg_SQL_Mysql.xml +++ b/src/main/resources/egovframework/sqlmap/kccadr/msg/Msg_SQL_Mysql.xml @@ -224,4 +224,13 @@ + + + + + + + + + \ No newline at end of file diff --git a/src/main/resources/egovframework/sqlmap/let/uat/uia/EgovLoginUsr_SQL_Mysql.xml b/src/main/resources/egovframework/sqlmap/let/uat/uia/EgovLoginUsr_SQL_Mysql.xml index 5d00ca0c..e2278758 100644 --- a/src/main/resources/egovframework/sqlmap/let/uat/uia/EgovLoginUsr_SQL_Mysql.xml +++ b/src/main/resources/egovframework/sqlmap/let/uat/uia/EgovLoginUsr_SQL_Mysql.xml @@ -399,4 +399,13 @@ WHERE EMPLYR_ID = #id# + + + diff --git a/src/main/resources/egovframework/sqlmap/let/uss/umt/EgovUserManage_SQL_Mysql.xml b/src/main/resources/egovframework/sqlmap/let/uss/umt/EgovUserManage_SQL_Mysql.xml index 04a122d4..2ea2e4f0 100644 --- a/src/main/resources/egovframework/sqlmap/let/uss/umt/EgovUserManage_SQL_Mysql.xml +++ b/src/main/resources/egovframework/sqlmap/let/uss/umt/EgovUserManage_SQL_Mysql.xml @@ -203,7 +203,8 @@ ]]> - CRTFC_DN_VALUE ) + CRTFC_DN_VALUE, + LOGIN_TYPE_CD ) VALUES ( #uniqId# , #emplyrId# , @@ -242,7 +243,8 @@ #snsId# , #snsEmail# , - #subDn# ) + #subDn#, + #loginTypeCd# ) - + diff --git a/src/main/webapp/WEB-INF/jsp/uat/uia/EgovLoginUsr.jsp b/src/main/webapp/WEB-INF/jsp/uat/uia/EgovLoginUsr.jsp index 60684b00..4504fda4 100644 --- a/src/main/webapp/WEB-INF/jsp/uat/uia/EgovLoginUsr.jsp +++ b/src/main/webapp/WEB-INF/jsp/uat/uia/EgovLoginUsr.jsp @@ -24,8 +24,6 @@ 로그인 - - @@ -36,19 +34,22 @@ - - - - - - - - - - @@ -153,6 +167,7 @@ function otpPhoneView(obj){ <%-- --%> +