From 1e636cfd0288fa1a97cf22e6467335a952e284c5 Mon Sep 17 00:00:00 2001 From: ijunho Date: Mon, 13 Oct 2025 16:57:11 +0900 Subject: [PATCH] Merge branch 'master_tolag3' MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 사용자 로그인 개발 --- src/main/java/kcc/com/cmm/LoginVO.java | 9 + .../service/impl/EgovLoginServiceImpl.java | 12 +- .../uia/service/impl/EgovSessionMapping.java | 13 +- .../let/uat/uia/web/EgovLoginController.java | 278 +++++------------- .../kcc/let/uss/umt/service/UserManageVO.java | 9 + .../impl/EgovUserManageServiceImpl.java | 3 + .../uat/uia/EgovLoginUsr_SQL_Postgresql.xml | 24 +- .../uss/umt/EgovUserManage_SQL_Postgresql.xml | 8 +- .../WEB-INF/jsp/web/com/webCommonHeader.jsp | 6 +- .../jsp/web/kccadr/login/SsoLoginUsr.jsp | 97 ++---- 10 files changed, 175 insertions(+), 284 deletions(-) diff --git a/src/main/java/kcc/com/cmm/LoginVO.java b/src/main/java/kcc/com/cmm/LoginVO.java index dc1d56f5..890c8b40 100644 --- a/src/main/java/kcc/com/cmm/LoginVO.java +++ b/src/main/java/kcc/com/cmm/LoginVO.java @@ -123,6 +123,8 @@ public class LoginVO implements Serializable{ private String returnUrl; private String mberSeq; + private String mberCi; + public String getId() { return id; } @@ -432,6 +434,13 @@ public class LoginVO implements Serializable{ public void setMberSeq(String mberSeq) { this.mberSeq = mberSeq; } + public String getMberCi() { + return mberCi; + } + public void setMberCi(String mberCi) { + this.mberCi = mberCi; + } + 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 822ee0a5..e3c32c27 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 @@ -65,6 +65,7 @@ public class EgovLoginServiceImpl extends EgovAbstractServiceImpl implements //step3.둘다 아니면 loginvo ret LoginVO loginVO = null; String s_password = vo.getPassword(); + String s_ci = vo.getMberCi(); System.out.println("======1========================"+s_password); System.out.println("======1========================"+EgovNewPasswordUtil.hashPassword(s_password)); System.out.println("======1========================"+EgovFileScrty.encryptPassword(s_password, vo.getId())); @@ -83,8 +84,15 @@ public class EgovLoginServiceImpl extends EgovAbstractServiceImpl implements loginVO = loginDAO.actionLoginNew(vo); System.out.println("======3========================"+s_password); System.out.println("======3========================"+loginVO.getPassword()); - if (EgovNewPasswordUtil.matches(s_password, loginVO.getPassword())) { - return loginVO; + if("USR".equals(loginVO.getUserSe())) { + if (EgovNewPasswordUtil.matches(s_password, loginVO.getPassword())) { + return loginVO; + } + }else { + //ci로 바꾸기 + if (EgovNewPasswordUtil.matches(s_ci, loginVO.getMberCi())) { + return loginVO; + } } /* diff --git a/src/main/java/kcc/let/uat/uia/service/impl/EgovSessionMapping.java b/src/main/java/kcc/let/uat/uia/service/impl/EgovSessionMapping.java index 6562e9fe..20f3a061 100644 --- a/src/main/java/kcc/let/uat/uia/service/impl/EgovSessionMapping.java +++ b/src/main/java/kcc/let/uat/uia/service/impl/EgovSessionMapping.java @@ -3,8 +3,12 @@ package kcc.let.uat.uia.service.impl; import java.sql.ResultSet; import java.sql.SQLException; +import javax.servlet.http.HttpServletRequest; import javax.sql.DataSource; +import org.springframework.web.context.request.RequestContextHolder; +import org.springframework.web.context.request.ServletRequestAttributes; + import egovframework.rte.fdl.security.userdetails.EgovUserDetails; import egovframework.rte.fdl.security.userdetails.jdbc.EgovUsersByUsernameMapping; import kcc.com.cmm.LoginVO; @@ -66,8 +70,13 @@ public class EgovSessionMapping extends EgovUsersByUsernameMapping { String strMberSeq = rs.getString("mber_seq"); + HttpServletRequest request = ((ServletRequestAttributes) + RequestContextHolder.getRequestAttributes()).getRequest(); + // 세션 항목 설정 - LoginVO loginVO = new LoginVO(); +// LoginVO loginVO = new LoginVO(); + LoginVO loginVO = (LoginVO) request.getSession().getAttribute("LoginVO"); + loginVO.setId(strUserId); loginVO.setPassword(strPassWord); loginVO.setName(strUserNm); @@ -79,6 +88,8 @@ public class EgovSessionMapping extends EgovUsersByUsernameMapping { loginVO.setOrgnztNm(strOrgnztNm); loginVO.setAuthority(strAuthority); loginVO.setMembSeq(strMberSeq); + + request.getSession().setAttribute("LoginVO", loginVO); // LoginVO세션 생성 return new EgovUserDetails(strUserId, strPassWord, strEnabled, loginVO); } 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 1bb2e9a5..7557e64f 100644 --- a/src/main/java/kcc/let/uat/uia/web/EgovLoginController.java +++ b/src/main/java/kcc/let/uat/uia/web/EgovLoginController.java @@ -61,6 +61,7 @@ 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.com.utl.user.service.CheckLoginUtil; import kcc.let.sym.log.clg.service.EgovLoginLogService; @@ -80,6 +81,7 @@ import kcc.let.uss.umt.service.UserGuestVO; import kcc.let.uss.umt.service.UserManageVO; import kcc.let.utl.fcc.service.EgovCryptoUtil; import kcc.let.utl.sim.service.EgovClntInfo; +import kcc.let.utl.sim.service.EgovNewPasswordUtil; import kcc.ve.instr.tngrVisitEdu.instrInfo.service.VEInstrDetailVO; import kcc.ve.instr.tngrVisitEdu.instrInfo.service.VEInstrService; @@ -187,7 +189,6 @@ public class EgovLoginController { /** 구동 환경 */ @Value("#{property['Globals.prod.islocal']}") private String environment; - /* *//** @@ -333,32 +334,12 @@ public class EgovLoginController { //로그인 처리==================================== - /* - Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated(); - if (isAuthenticated) - return "redirect:/web/main/mainPage.do"; - */ - // 로그인필요 URL 호출하여 온경우 String beforeUrl = (String) commandMap.get("beforeUrl"); String message = (String) commandMap.get("message"); - - // 실서버 적용시 바꾸기 - String returnSiteUrl = returnSiteUrlGlobal; - String returnSiteCode = returnSiteCodeGlobal; - String idFindUrl = idFindUrl_Global; - String pwFindUrl = pwFindUrl_Global; - String joinUrl = joinUrl_Global; - - model.addAttribute("returnSiteUrl", (URLEncoder.encode(returnSiteUrl))); - model.addAttribute("returnSiteCode", returnSiteCode); - model.addAttribute("idFindUrl", idFindUrl); - model.addAttribute("pwFindUrl", pwFindUrl); - model.addAttribute("joinUrl", joinUrl); model.addAttribute("beforeUrl", beforeUrl); model.addAttribute("message", message); - model.addAttribute("environment", environment); //로컬은 셀렉트박스 로그인 return "web/kccadr/login/SsoLoginUsr"; } @@ -731,149 +712,59 @@ public class EgovLoginController { * @exception Exception */ @RequestMapping(value = "/web/user/login/actionSecurityLogin.do") - public String selectActionSecurityLoginWeb(@ModelAttribute("loginVO") LoginVO loginVO, HttpServletResponse response, HttpServletRequest request, ModelMap model, HttpSession session, - RedirectAttributes redirectAttributes) throws Exception { + public String selectActionSecurityLoginWeb( + @ModelAttribute("loginVO") LoginVO loginVO + , HttpServletResponse response + , HttpServletRequest request + , ModelMap model + , HttpSession session + , RedirectAttributes redirectAttributes + ) throws Exception { //일반 로그인이 아니므로 1로 세팅 loginVO.setPassword("1"); // 로그인 정보 check - if (loginVO.getId() == null || loginVO.getPassword() == null) { - SsoLoginVO SsoLoginSessionChk = (SsoLoginVO) session.getAttribute("SSOLoginVO"); - // SSOLoginVO 세션 체크 - if (SsoLoginSessionChk != null) { - - loginVO.setId(SsoLoginSessionChk.getMembId()); - loginVO.setPassword("1"); - } else { - model.addAttribute("message", "로그인을 다시 해주세요."); - // 로그인 페이지로 이동 - /*return "/web/kccadr/login/SsoLoginUsr";*/ - return "redirect:/web/user/login/ssoLogin.do"; - } - } - - SsoLoginVO ssologinVO = new SsoLoginVO(); - - /*231031.개발서버 selectbox 로그인용 임시 - isDev 삭제 처리*/ - if ((ProfileUtil.isLocal() || ProfileUtil.isTLocal() || ProfileUtil.isDev()) && "Y".equals(loginVO.getIsSelect())) { //비 sso login - - loginVO.setStatusAll("N"); - ssologinVO.setMembSeq(loginVO.getId()); //중요 - //loginVO = loginService.actionLogin(loginVO); - - //기존에 개발자 로그인은 selectbox와 mber_seq로 로그인 처리. - //e배움터 연동 후 mber_seq는 key로 사용하기 때문에 mber_id로 로그인 처리 과정 - //loginVO = loginService.actionLoginDev(loginVO); //개발자 아이디 선택 로그인시 - loginVO = loginService.actionLoginMberId(loginVO); - - - //ssologinVO.setMembSeq(loginVO.getId()); //중요 - - //loginVO = loginService.actionLoginDev(loginVO); //개발자 아이디 선택 로그인시 - - //ssologinVO.setMembSeq(loginVO.getId()); //중요 - - ssologinVO.setMembId(loginVO.getEmail()); - - // ================== 이름 암호화로 나오는 문제 해결 ==================== - ssologinVO.setMembName(egovCryptoUtil.decrypt(loginVO.getName())); - - System.out.println("==================임시=================="); - // ==== 계속 암호화에 암호화가 되서 임시로 넣음 - ssologinVO.setMembName(egovCryptoUtil.decrypt(ssologinVO.getMembName())); - ssologinVO.setMembName(egovCryptoUtil.decrypt(ssologinVO.getMembName())); - ssologinVO.setMembName(egovCryptoUtil.decrypt(ssologinVO.getMembName())); - ssologinVO.setMembName(egovCryptoUtil.decrypt(ssologinVO.getMembName())); - ssologinVO.setMembName(egovCryptoUtil.decrypt(ssologinVO.getMembName())); - - - ssologinVO.setSexCode("M"); - ssologinVO.setMembEmail(loginVO.getEmail()); - ssologinVO.setMembCelnum(loginVO.getMembCelnum()); - ssologinVO.setMembBirth(loginVO.getMembBirth()); - - /* - * ssologinVO.setMembSmsRecpYn(loginVO.getMembSmsRecpYn()); - * ssologinVO.setMembEmailRecpYn(loginVO.getMembEmailRecpYn()); - * - * ssologinVO.setDispsettMembDivisCode(loginVO.getDispsettMembDivisCode()); - * ssologinVO.setCorpnum(loginVO.getCorpnum()); - * ssologinVO.setBuisnRegnum(loginVO.getBuisnRegnum()); - * ssologinVO.setCompTitle(loginVO.getCompTitle()); - */ - - session.setAttribute("SSOLoginVO", ssologinVO); - - } else { //sso login - - ssologinVO = (SsoLoginVO) session.getAttribute("SSOLoginVO"); - - String SsoLoginResult = ""; -/* if (ssologinVO == null) { - SSO로그인 및 SSOLoginVO 세선 생성 - SsoLogin ssoLogin = new SsoLogin(); - SsoLoginResult = ssoLogin.SsoLogin(loginVO.getId(), loginVO.getPassword(), request); - } - if ("fail".equals(SsoLoginResult)) { - redirectAttributes.addAttribute("message", "아이디 비밀번호를 확인해 주세요."); - redirectAttributes.addFlashAttribute("message", "아이디 비밀번호를 확인해 주세요."); - return "redirect:/web/user/login/ssoLogin.do"; - }*/ - } - -// ssologinVO = (SsoLoginVO) session.getAttribute("SSOLoginVO"); - - /*if ("".equals(ssologinVO.getDispsettMembDivisCode())) { - 신청 관련코드 받아오면 처리 - System.out.println("조정분류코드 없음"); - - }*/ +// if (loginVO.getId() == null || loginVO.getPassword() == null) { +// SsoLoginVO SsoLoginSessionChk = (SsoLoginVO) session.getAttribute("SSOLoginVO"); +// // SSOLoginVO 세션 체크 +// if (SsoLoginSessionChk != null) { +// +// loginVO.setId(SsoLoginSessionChk.getMembId()); +// loginVO.setPassword("1"); +// } else { +// model.addAttribute("message", "로그인을 다시 해주세요."); +// // 로그인 페이지로 이동 +// /*return "/web/kccadr/login/SsoLoginUsr";*/ +// return "redirect:/web/user/login/ssoLogin.do"; +// } +// } + if(StringUtil.isEmpty(loginVO.getMberCi())) { + model.addAttribute("message", "로그인을 다시 해주세요."); + // 로그인 페이지로 이동 + return "redirect:/web/user/login/ssoLogin.do"; + } // 기존에 있던 회원이 아니면 DB에 일련번호 저장 - /* UserManageVO userManageVO = new UserManageVO(); - userManageVO.setMberSeq(ssologinVO.getMembSeq()); + UserManageVO userManageVO = new UserManageVO(); + userManageVO.setMberCi(loginVO.getMberCi()); userManageVO = userManageService.selectKccadrUser(userManageVO); if (null == userManageVO) { UserManageVO tmpUserManageVO = new UserManageVO(); - tmpUserManageVO.setMberSeq(ssologinVO.getMembSeq()); + tmpUserManageVO.setMberCi(loginVO.getMberCi()); tmpUserManageVO.setAuthorCode("ROLE_USER_MEMBER"); - tmpUserManageVO.setEmplyrNm(ssologinVO.getMembName()); - tmpUserManageVO = egovCryptoUtil.encryptUserManageVO(tmpUserManageVO); + tmpUserManageVO.setEmplyrNm(""); +// tmpUserManageVO = egovCryptoUtil.encryptUserManageVO(tmpUserManageVO); + String result = userManageService.insertUser(tmpUserManageVO); userManageVO = userManageService.selectKccadrUser(tmpUserManageVO); - }else { //기존에 있던 회원이라면 이름 최신화 - UserManageVO tmpUserManageVO = new UserManageVO(); - tmpUserManageVO.setMberSeq(ssologinVO.getMembSeq()); - tmpUserManageVO.setEmplyrNm(ssologinVO.getMembName()); - - tmpUserManageVO = egovCryptoUtil.encryptUserManageVO(tmpUserManageVO); - userManageService.updateUserNm(tmpUserManageVO); - }*/ - - /*loginVO.setId(userManageVO.getEmplyrId()); - loginVO.setPassword(userManageVO.getPassword()); -*/ - /* - * ssoLoginVO에서 아이디와, 일련번호, 부가가입여부 체크해서 DB에 일치하는 정보가 있는지 체크하고 일치하면 통과, 없으면 - * ssoLoginVO에서 일련번호, 부가가입여부를 포함한 사용자 정보 DB에 insert - */ + } loginVO.setUserSe("GNR"); + loginVO.setId(userManageVO.getEmplyrId()); // 로그인 정보 check - /* - * if(loginVO.getId() == null || loginVO.getPassword() == null){ // 회원가입 시 로그인 - * 처리 LoginVO pLoginVO = (LoginVO)request.getAttribute("pLoginVO"); if (pLoginVO - * == null) { // RSA 키 생성 initRsa(request); return - * "redirect:/web/user/login/login.do"; } else { - * loginVO.setId(pLoginVO.getId()); loginVO.setPassword(pLoginVO.getPassword()); - * loginVO.setBeforeUrl(pLoginVO.getBeforeUrl()); - * loginVO.setMessage(pLoginVO.getMessage()); } } - */ - // 관리자 유무 체크 List authorities = (List) loginService.selectAuthorities(loginVO); Boolean adminFlag = false; @@ -890,7 +781,7 @@ public class EgovLoginController { // initRsa(request); return "web/site/login/EgovLoginGnrlUsr"; } - + // 1. 일반 로그인 처리 LoginVO resultVO; // 복호화 @@ -934,25 +825,25 @@ public class EgovLoginController { resultVO.setIp(userIp); System.out.println("==13=="); // LoginVO세션에 사용자 정보 넣기 - resultVO.setMembSeq(ssologinVO.getMembSeq()); - resultVO.setMembId(ssologinVO.getMembId()); - resultVO.setMembName(ssologinVO.getMembName()); - resultVO.setMembSeq(ssologinVO.getMembSeq()); - resultVO.setMembCi(ssologinVO.getMembCi()); - resultVO.setMembEmail(ssologinVO.getMembEmail()); - resultVO.setMembCelnum(ssologinVO.getMembCelnum()); - resultVO.setMembBirth(ssologinVO.getMembBirth()); - resultVO.setMembSmsRecpYn(ssologinVO.getMembSmsRecpYn()); - resultVO.setMembEmailRecpYn(ssologinVO.getMembEmailRecpYn()); - resultVO.setSexCode(ssologinVO.getSexCode()); - resultVO.setDispsettMembDivisCode(ssologinVO.getDispsettMembDivisCode()); - resultVO.setCorpnum(ssologinVO.getCorpnum()); - resultVO.setBuisnRegnum(ssologinVO.getBuisnRegnum()); - resultVO.setCompTitle(ssologinVO.getCompTitle()); +// resultVO.setMembSeq(ssologinVO.getMembSeq()); +// resultVO.setMembId(ssologinVO.getMembId()); +// resultVO.setMembName(ssologinVO.getMembName()); +// resultVO.setMembSeq(ssologinVO.getMembSeq()); +// resultVO.setMembCi(ssologinVO.getMembCi()); +// resultVO.setMembEmail(ssologinVO.getMembEmail()); +// resultVO.setMembCelnum(ssologinVO.getMembCelnum()); +// resultVO.setMembBirth(ssologinVO.getMembBirth()); +// resultVO.setMembSmsRecpYn(ssologinVO.getMembSmsRecpYn()); +// resultVO.setMembEmailRecpYn(ssologinVO.getMembEmailRecpYn()); +// resultVO.setSexCode(ssologinVO.getSexCode()); +// resultVO.setDispsettMembDivisCode(ssologinVO.getDispsettMembDivisCode()); +// resultVO.setCorpnum(ssologinVO.getCorpnum()); +// resultVO.setBuisnRegnum(ssologinVO.getBuisnRegnum()); +// resultVO.setCompTitle(ssologinVO.getCompTitle()); // 2. spring security 연동 - request.getSession().setAttribute("LoginVO", resultVO); // LoginVO세션 생성 - System.out.println("@@@@로그인VO:"+resultVO+"@@@@@@"); +// request.getSession().setAttribute("LoginVO", resultVO); // LoginVO세션 생성 +// System.out.println("@@@@로그인VO:"+resultVO+"@@@@@@"); UsernamePasswordAuthenticationFilter springSecurity = new UsernamePasswordAuthenticationFilter(); ApplicationContext act = WebApplicationContextUtils.getRequiredWebApplicationContext(request.getSession().getServletContext()); Map beans = act.getBeansOfType(UsernamePasswordAuthenticationFilter.class); @@ -967,8 +858,32 @@ public class EgovLoginController { } System.out.println("==14=1="); + /* + * springSecurity filter -> context-security.xml의 jdbcUsersByUsernameQuery -> egovSessionMapping.java 순으로 진행됨. + * egovSessionMapping.java에서 생성된 session은 (LoginVO) EgovUserDetailsHelper.getAuthenticatedUser();를 통해 불러올수있음. + * 단순 getsession을 통해 LoginVO를 불러올 경우를 대비해 기존소스는 일일히 세션을 생성했으나(본 주석 위 40줄 위에 주석된 부분) egovSessionMapping에서 LoginVO세션도 생성하도록 변경함 + * + * 정리. + * (LoginVO) EgovUserDetailsHelper.getAuthenticatedUser(); 를 통해 LoginVO를 얻었을경우 + * 와 + * reqeust.getSession().getAttribute("LoginVO");를 통해 LoginVO를 얻을 경우 + * 의 값이 다를 경우가 존재하여 egovSessionMapping.java를 통해 EgovUserDetailsHelper.getAuthenticatedUser();에서의 값을 생성할때 + * LoginVO세션도 같이 만들어 값을 통일하도록 수정 + * 20251013_이준호 + * + */ + + /* + * LoginVO를 세션에서 바로 얻기위해 set session + */ + request.getSession().setAttribute("LoginVO", loginVO); // LoginVO세션 생성 + springSecurity.doFilter(new RequestWrapperForSecurity(request, resultVO.getUserSe() + resultVO.getId(), resultVO.getUniqId()), response, null); + /* + * dofilter 이후 egovSessionMapping.java 에서 request.getSession().setAttribute("LoginVO", loginVO); 세션 set도 같이 함 + */ + try{ System.out.println("==14=1="); System.out.println("EgovUserDetailsHelper.isAuthenticated()"); @@ -1908,27 +1823,6 @@ public class EgovLoginController { if (session.getAttribute("pageType") != null) { if ("web".equals((String) session.getAttribute("pageType"))) { // 사용자 LoginVO loginVO = (LoginVO) EgovUserDetailsHelper.getAuthenticatedUser(); - // 강사 로그인 시 - // 청소년 강사 && 성인 강사 -> 청소년저작권강사 대시보드 - // 성인 강사 -> 성인저작권강사 대시보드 - // 로 redirect - if("ROLE_USER_MANAGER".equals(loginVO.getAuthority())) { - VEInstrDetailVO vEInstrDetailVO = new VEInstrDetailVO(); - - vEInstrDetailVO.setUserId(loginVO.getUniqId()); - vEInstrDetailVO = vEInstrService.selectDetail(vEInstrDetailVO); - - session.setAttribute("pageType", null); - - if("Y".equals(vEInstrDetailVO.getTngrInstrYn())) { - - //청소년 강사 대시보드 - return "redirect:/web/ve/instr/tngrVisitEdu/instrInfo/instrDashboard.do"; - }else if ("Y".equals(vEInstrDetailVO.getAdultInstrYn())) { - //성인 강사 대시보드 - return "redirect:/web/ve/instr/adultVisitEdu/instrInfo/instrDashboard.do"; - } - } if (session.getAttribute("beforeSiteUrl") != null) { // 사용자 메인 String tempSessionUrl = (String) session.getAttribute("beforeSiteUrl"); @@ -1950,23 +1844,9 @@ public class EgovLoginController { } } - // e-배움터 연동 로그인 시 - LoginVO 세션의 return url로 이동 - try { - LoginVO eEduLoginVO = (LoginVO) session.getAttribute("LoginVO"); - if(eEduLoginVO != null) { - if(eEduLoginVO.getUrl() != null) { - return "redirect:" + eEduLoginVO.getUrl(); - } - } - }catch(Exception ex) { - ex.printStackTrace(); - } - - // 관리자 로그인 시 LoginVO user = (LoginVO) EgovUserDetailsHelper.getAuthenticatedUser(); - System.out.println("===========actionMain===========2"); System.out.println(loginService.getUserAuth(user).getAuthority()); System.out.println(user.getAuthority()); 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 88fffdb2..f0c83250 100644 --- a/src/main/java/kcc/let/uss/umt/service/UserManageVO.java +++ b/src/main/java/kcc/let/uss/umt/service/UserManageVO.java @@ -178,6 +178,8 @@ public class UserManageVO extends UserDefaultVO{ private int totCnt = 0; //회원 Id + private String mberCi; + public String getAuthorCode() { return authorCode; } @@ -715,6 +717,13 @@ public class UserManageVO extends UserDefaultVO{ public void setTotCnt(int totCnt) { this.totCnt = totCnt; } + public String getMberCi() { + return mberCi; + } + public void setMberCi(String mberCi) { + this.mberCi = mberCi; + } + } \ No newline at end of file diff --git a/src/main/java/kcc/let/uss/umt/service/impl/EgovUserManageServiceImpl.java b/src/main/java/kcc/let/uss/umt/service/impl/EgovUserManageServiceImpl.java index 244606d1..e6df058d 100644 --- a/src/main/java/kcc/let/uss/umt/service/impl/EgovUserManageServiceImpl.java +++ b/src/main/java/kcc/let/uss/umt/service/impl/EgovUserManageServiceImpl.java @@ -124,6 +124,7 @@ public class EgovUserManageServiceImpl extends EgovAbstractServiceImpl implement || "ROLE_VISIT".equals(userManageVO.getAuthorCode()) //찾교 관리자 || "ROLE_ADR_JRSDC".equals(userManageVO.getAuthorCode()) //기소유예관할 || "ROLE_ADR_KIPO".equals(userManageVO.getAuthorCode()) //부정경쟁행위 시정명령 + || "ROLE_ADR_PREV".equals(userManageVO.getAuthorCode()) //부정경쟁행위 시정명령 ){ //관리자 //패스워드 암호화 @@ -143,6 +144,7 @@ public class EgovUserManageServiceImpl extends EgovAbstractServiceImpl implement || "ROLE_VISIT".equals(userManageVO.getAuthorCode()) //찾교 관리자 || "ROLE_ADR_JRSDC".equals(userManageVO.getAuthorCode()) //기소유예관할 || "ROLE_ADR_KIPO".equals(userManageVO.getAuthorCode()) //부정경쟁행위 시정명령 + || "ROLE_ADR_PREV".equals(userManageVO.getAuthorCode()) //부정경쟁행위 시정명령 ) { @@ -163,6 +165,7 @@ public class EgovUserManageServiceImpl extends EgovAbstractServiceImpl implement || "ROLE_VISIT".equals(userManageVO.getAuthorCode()) //찾교 관리자 || "ROLE_ADR_JRSDC".equals(userManageVO.getAuthorCode()) //기소유예관할 || "ROLE_ADR_KIPO".equals(userManageVO.getAuthorCode()) //부정경쟁행위 시정명령 + || "ROLE_ADR_PREV".equals(userManageVO.getAuthorCode()) //부정경쟁행위 시정명령 ) { authorGroup.setMberTyCode("USR"); //관리자 diff --git a/src/main/resources/egovframework/sqlmap/let/uat/uia/EgovLoginUsr_SQL_Postgresql.xml b/src/main/resources/egovframework/sqlmap/let/uat/uia/EgovLoginUsr_SQL_Postgresql.xml index 3a4412ed..a4b5697f 100644 --- a/src/main/resources/egovframework/sqlmap/let/uat/uia/EgovLoginUsr_SQL_Postgresql.xml +++ b/src/main/resources/egovframework/sqlmap/let/uat/uia/EgovLoginUsr_SQL_Postgresql.xml @@ -20,7 +20,8 @@ - + + @@ -43,6 +44,7 @@ , mbtlnum AS membCelnum , birth_day AS membBirth , '' AS userWork + , mber_ci AS mberCi FROM lettngnrlmber a WHERE mber_id = #id# AND PASSWORD = #password# @@ -64,7 +66,8 @@ , EMPLYR_STTUS_CODE AS emplyrSttusCode , mbtlnum AS membCelnum , '' AS membBirth - , user_work AS userWork + , user_work AS userWork + , '' AS mberCi FROM LETTNEMPLYRINFO a WHERE EMPLYR_ID = #id# AND PASSWORD = #password# @@ -93,7 +96,8 @@ , mber_sttus AS emplyrSttusCode , mbtlnum AS membCelnum , birth_day AS membBirth - , '' AS userWork + , '' AS userWork + , mber_ci AS mberCi FROM lettngnrlmber a WHERE mber_id = #id# @@ -111,7 +115,8 @@ , EMPLYR_STTUS_CODE AS emplyrSttusCode , mbtlnum AS membCelnum , '' AS membBirth - , user_work AS userWork + , user_work AS userWork + , '' AS mberCi FROM LETTNEMPLYRINFO a WHERE EMPLYR_ID = #id# @@ -137,6 +142,7 @@ , mbtlnum AS membCelnum , birth_day AS membBirth , '' AS userWork + , mber_ci AS mberCi FROM lettngnrlmber a WHERE mber_seq = #id# @@ -157,7 +163,8 @@ , EMPLYR_STTUS_CODE AS emplyrSttusCode , mbtlnum AS membCelnum , '' AS membBirth - , user_work AS userWork + , user_work AS userWork + , '' AS mberCi FROM LETTNEMPLYRINFO a WHERE EMPLYR_ID = #id# @@ -185,7 +192,8 @@ , mber_sttus AS emplyrSttusCode , mbtlnum AS membCelnum , birth_day AS membBirth - , '' AS userWork + , '' AS userWork + , mber_ci AS mberCi FROM lettngnrlmber a WHERE mber_id = #id# @@ -206,7 +214,8 @@ , EMPLYR_STTUS_CODE AS emplyrSttusCode , mbtlnum AS membCelnum , '' AS membBirth - , user_work AS userWork + , user_work AS userWork + , '' AS mberCi FROM LETTNEMPLYRINFO a WHERE EMPLYR_ID = #id# @@ -512,6 +521,7 @@ , mbtlnum AS membCelnum , birth_day AS membBirth , '' AS userWork + , mber_ci AS mberCi FROM lettngnrlmber a WHERE mber_id = #id# AND PASSWORD = #password# diff --git a/src/main/resources/egovframework/sqlmap/let/uss/umt/EgovUserManage_SQL_Postgresql.xml b/src/main/resources/egovframework/sqlmap/let/uss/umt/EgovUserManage_SQL_Postgresql.xml index a856d8f6..c09a453b 100644 --- a/src/main/resources/egovframework/sqlmap/let/uss/umt/EgovUserManage_SQL_Postgresql.xml +++ b/src/main/resources/egovframework/sqlmap/let/uss/umt/EgovUserManage_SQL_Postgresql.xml @@ -303,7 +303,7 @@ sbscrb_de, esntl_id, dept, - mber_seq, + mber_ci, frst_regist_pnttm, last_updt_pnttm ) @@ -318,7 +318,7 @@ , NOW() , #uniqId# , NULL - , #mberSeq# + , crypt(#mberCi#, gen_salt('bf', 10)) , NOW() , NOW() ) @@ -889,10 +889,10 @@ diff --git a/src/main/webapp/WEB-INF/jsp/web/com/webCommonHeader.jsp b/src/main/webapp/WEB-INF/jsp/web/com/webCommonHeader.jsp index 7e85d103..6b5b689e 100644 --- a/src/main/webapp/WEB-INF/jsp/web/com/webCommonHeader.jsp +++ b/src/main/webapp/WEB-INF/jsp/web/com/webCommonHeader.jsp @@ -36,14 +36,16 @@
<%-- 로그인전 --%> - + <%-- --%> + <%-- 로그인 후 --%> - + <%-- --%> +