From 412feb7a0e38451ae68bbb40bee914a7cbd5ed38 Mon Sep 17 00:00:00 2001 From: jiwoo Date: Wed, 13 Sep 2023 14:14:50 +0900 Subject: [PATCH] =?UTF-8?q?=EC=9D=B4=EC=A7=80=EC=9A=B0=20-=20=EB=A1=9C?= =?UTF-8?q?=EA=B7=B8=EC=9D=B8=20=EC=A7=84=ED=96=89=20=EC=A4=91=20&=20profi?= =?UTF-8?q?les.active=EA=B0=80=20tLocal=EC=9D=BC=20=EA=B2=BD=EC=9A=B0=20?= =?UTF-8?q?=EB=A1=9C=EA=B7=B8=EC=9D=B8=20=EC=B2=98=EB=A6=AC=20=EC=B6=94?= =?UTF-8?q?=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../kcc/com/cmm/spring/data/CoreConstant.java | 1 + .../com/cmm/spring/data/util/ProfileUtil.java | 7 ++++ .../let/uat/uia/service/EgovLoginService.java | 2 + .../service/impl/EgovLoginServiceImpl.java | 5 +++ .../let/uat/uia/service/impl/LoginDAO.java | 5 +++ .../let/uat/uia/web/APILoginContoller.java | 39 ++++++++++++++----- .../let/uat/uia/web/EgovLoginController.java | 2 +- src/main/java/kcc/web/MainController.java | 2 +- .../let/uat/uia/EgovLoginUsr_SQL_Tibero.xml | 13 +++++-- .../let/uss/umt/EgovUserManage_SQL_Tibero.xml | 2 - .../WEB-INF/jsp/web/com/webCommonHeader.jsp | 20 +++++----- .../jsp/web/kccadr/login/SsoLoginUsr.jsp | 8 ++-- 12 files changed, 75 insertions(+), 31 deletions(-) diff --git a/src/main/java/kcc/com/cmm/spring/data/CoreConstant.java b/src/main/java/kcc/com/cmm/spring/data/CoreConstant.java index 301b0de5..b94c015c 100644 --- a/src/main/java/kcc/com/cmm/spring/data/CoreConstant.java +++ b/src/main/java/kcc/com/cmm/spring/data/CoreConstant.java @@ -51,6 +51,7 @@ public class CoreConstant { public static final String PROFILE_LOCAL = "local"; public static final String PROFILE_DEV = "dev"; public static final String PROFILE_PROD = "prod"; + public static final String PROFILE_TLOCAL = "tLocal"; /* Menu role */ diff --git a/src/main/java/kcc/com/cmm/spring/data/util/ProfileUtil.java b/src/main/java/kcc/com/cmm/spring/data/util/ProfileUtil.java index f5d97ccb..2019a54d 100644 --- a/src/main/java/kcc/com/cmm/spring/data/util/ProfileUtil.java +++ b/src/main/java/kcc/com/cmm/spring/data/util/ProfileUtil.java @@ -15,6 +15,7 @@ public class ProfileUtil { private static boolean isLocal = false; private static boolean isDev = false; private static boolean isProd = false; + private static boolean isTLocal = false; @Autowired public void setEnvironment(Environment environment) { @@ -31,6 +32,8 @@ public class ProfileUtil { ProfileUtil.isProd = true; } else if (CoreConstant.PROFILE_LOCAL.equalsIgnoreCase(profiles[i])) { ProfileUtil.isLocal = true; + }else if (CoreConstant.PROFILE_TLOCAL.equalsIgnoreCase(profiles[i])) { + ProfileUtil.isTLocal = true; } } } @@ -51,6 +54,10 @@ public class ProfileUtil { return ProfileUtil.isDev; } + public static boolean isTLocal() { + return ProfileUtil.isTLocal; + } + public static boolean isProd() { return ProfileUtil.isProd; } diff --git a/src/main/java/kcc/let/uat/uia/service/EgovLoginService.java b/src/main/java/kcc/let/uat/uia/service/EgovLoginService.java index 85a983dd..cb813bbb 100644 --- a/src/main/java/kcc/let/uat/uia/service/EgovLoginService.java +++ b/src/main/java/kcc/let/uat/uia/service/EgovLoginService.java @@ -94,4 +94,6 @@ public interface EgovLoginService { LoginVO selectOffeduMberChk(LoginVO vo) throws Exception; void updateMberSeqKeyAjax(LoginVO vo) throws Exception; + + void updateMberSeqKeyNull(LoginVO vo) throws Exception; } 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 d2f3cdcb..f8705d29 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 @@ -286,4 +286,9 @@ public class EgovLoginServiceImpl extends EgovAbstractServiceImpl implements public void updateMberSeqKeyAjax(LoginVO vo) throws Exception { loginDAO.updateMberSeqKeyAjax(vo); } + + @Override + public void updateMberSeqKeyNull(LoginVO vo) throws Exception { + loginDAO.updateMberSeqKeyNull(vo); + } } 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 aa756462..7769173b 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 @@ -140,4 +140,9 @@ public class LoginDAO extends EgovAbstractDAO { update("loginDAO.updateMberSeqKeyAjax", vo); } + + public void updateMberSeqKeyNull(LoginVO vo) throws Exception{ + update("loginDAO.updateMberSeqKeyNull", vo); + + } } diff --git a/src/main/java/kcc/let/uat/uia/web/APILoginContoller.java b/src/main/java/kcc/let/uat/uia/web/APILoginContoller.java index c1f5d57f..591b92ff 100644 --- a/src/main/java/kcc/let/uat/uia/web/APILoginContoller.java +++ b/src/main/java/kcc/let/uat/uia/web/APILoginContoller.java @@ -21,6 +21,7 @@ import org.springframework.http.ResponseEntity; import org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter; import org.springframework.security.web.util.matcher.AntPathRequestMatcher; import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.CrossOrigin; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; @@ -44,6 +45,7 @@ import kcc.let.utl.sim.service.EgovClntInfo; * @version 1.0 * @see */ +@CrossOrigin(origins = "*") @Controller public class APILoginContoller { @@ -70,30 +72,35 @@ public class APILoginContoller { String key = paramRequest.get("key"); String returnUrl = paramRequest.get("returnUrl"); + System.out.println("@@@@@@@e배움터 로그인 페이지에서 오는 메소드 or e배움터 로그인 상태에서 오는 메소드@@@@@@@@"); //테스트를 위한 값 선언 - userId = "std02@forwiz.com"; - key = "std02@forwiz.comnPPp8JU56YuznXtm91YlcItGzg52zxNVax6aS6OrsaWZzSV6xPnMKnL0OOUbJzkg.amV1c19kb21haW4vTE1T"; - returnUrl = "/web/main/mainPage.do"; + /*userId = "std02@forwiz.com"; + key = "std02@forwiz.comxpnBtqsev3nh9mryXRdL9QRSR72XuNc08ese5iXHb0Waq1dMnSdkHHqKCgoSFeyH.amV1c19kb21haW4vTE1T"; + returnUrl = "/web/main/mainPage.do";*/ if(userId == null || key == null) { return "redirect:/web/main/mainPage.do"; } Map result = loginKeytoEEdu(userId, key); + System.out.println("@@@@@@@@@@e배움터 API 결과:"+result); + System.out.println("@@@@@@@@@@e배움터 API code 결과:"+result.get("resultCode")); + System.out.println("@@@@@@@@@@e배움터 API messea 결과:"+result.get("message")); String resultCode = result.get("resultCode"); String message = result.get("message"); if(resultCode.equals("1")) { //API 성공 + System.out.println("@@@@@@@@@@API성공@@@@@@@@"); returnUrl = "/web/main/mainPage.do";//임시 url - //회원테이블에 없던 회원이면 insert, 있던 회원이면 update UserManageVO userManageVO = new UserManageVO(); userManageVO.setMberId(userId); UserManageVO userManageChk = userManageService.selectOffeduUser(userManageVO); if(userManageChk == null) { - userManageVO.setAuthorCode("ROLE_USER_MEMBER"); - userManageService.insertOffeduUser(userManageVO); + userManageVO.setAuthorCode("ROLE_USER_MEMBER"); + userManageService.insertOffeduUser(userManageVO); + System.out.println("@@@@@@@@@@찾교에 계정생성@@@@@@@@@@"); } //로그인 처리 시작 LoginVO loginVO = new LoginVO(); @@ -122,6 +129,7 @@ public class APILoginContoller { } springSecurity.doFilter(new RequestWrapperForSecurity(request, resultVO.getUserSe() + resultVO.getId(), resultVO.getUniqId()), response, null); //doFilter 처리 시 redirect가 불가능하여, context-security.xml에서 login url로 이동 후 redirect 처리 + System.out.println("@@@@@@@@@@@@@@로그인 처리 완료@@@@@@@@@@@"); return "blank"; }else if(resultCode.equals("-101")) { //세션 값 만료 redirectAttributes.addFlashAttribute("message", message); @@ -154,6 +162,7 @@ public class APILoginContoller { public Map loginKeytoEEdu(String user_id, String key){ HashMap resultMap = new HashMap(); try { + System.out.println("@@@@@@@@@@@e배움터API시작 id:"+user_id+"key:"+key+"@@@@@@@@@@"); // 파라미터 key, user_id를 postData에 넣음 StringBuilder postData = new StringBuilder(); HashMap params = new HashMap(); @@ -191,11 +200,12 @@ public class APILoginContoller { resultMap.put("resultCode", resultCodeString); resultMap.put("message", message); - + System.out.println("@@@@@@@@@@e배움터API성공@@@@@@@@@"); }catch(Exception e) { e.printStackTrace(); resultMap.put("resultCode", "-1"); resultMap.put("message", e.getMessage()); + System.out.println("@@@@@@@@@@e배움터API실패@@@@@@@@@"); } return resultMap; } @@ -211,21 +221,27 @@ public class APILoginContoller { */ @RequestMapping(value = "/web/chkloginKeyForEEdu.do", method = RequestMethod.POST) public ResponseEntity> loginKeytoOffedu(@RequestBody LoginVO loginVO) throws Exception{ + System.out.println("@@@@@@@@@찾교API시작 ID:"+loginVO.getUser_id()+"key:"+loginVO.getKey()+"@@@@@@@@@@"); Map response = new HashMap<>(); try { loginVO = loginService.selectOffeduMberChk(loginVO); + System.out.println("@@@찾교api - ID :"+loginVO.getId()+"key:"+loginVO.getKey()); if(loginVO != null) { response.put("result_code", "1"); response.put("message", ""); }else { response.put("result_code", "-1"); - response.put("message", "인증오류입니다."); + response.put("message", "인증오류입니다."); } + //찾교 mber_seq key 값 파기 + System.out.println("@@@@@찾교 key 파기@@@@@@@@@@"); + loginService.updateMberSeqKeyNull(loginVO); return ResponseEntity.ok(response); }catch (Exception e) { response.put("result_code", "error"); response.put("message", "Internal Server Error: " + e.getMessage()); - return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(response); + return ResponseEntity.ok(response); +// return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(response); } } @@ -241,10 +257,12 @@ public class APILoginContoller { ModelAndView modelAndView = new ModelAndView(); modelAndView.setViewName("jsonView"); - + System.out.println("@@@@@@@@@찾교 @@@@@@@@@"); //로그인 권한정보 불러오기 LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null; String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getId()); + System.out.println("@@@@@@@@키갱신ID:"+userId+"@@@@@@@@@@@@"); + System.out.println("@@@@@@@@키갱신VO:"+loginVO+"@@@@@@@@@@@@"); if(loginVO == null) { //비 로그인 상태 일 시 파라미터 없이 e-배움터로 이동 modelAndView.addObject("status", "loginN"); return modelAndView; @@ -254,6 +272,7 @@ public class APILoginContoller { LocalDateTime now = LocalDateTime.now(); DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMddHHmmssSS"); String key = now.format(formatter); + System.out.println("@@@@@@@@키:"+key+"@@@@@@@@@@@@"); loginVO.setMberSeq(key); loginService.updateMberSeqKeyAjax(loginVO); modelAndView.addObject("status", "loginY"); 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 b7b4bc5d..2eccbb8d 100644 --- a/src/main/java/kcc/let/uat/uia/web/EgovLoginController.java +++ b/src/main/java/kcc/let/uat/uia/web/EgovLoginController.java @@ -691,7 +691,7 @@ public class EgovLoginController { SsoLoginVO ssologinVO = new SsoLoginVO(); - if (ProfileUtil.isLocal() && "Y".equals(loginVO.getIsSelect())) { //비 sso login + if ((ProfileUtil.isLocal() || ProfileUtil.isTLocal()) && "Y".equals(loginVO.getIsSelect())) { //비 sso login loginVO.setPassword("1"); loginVO.setStatusAll("N"); diff --git a/src/main/java/kcc/web/MainController.java b/src/main/java/kcc/web/MainController.java index 60dcf434..97b2c289 100644 --- a/src/main/java/kcc/web/MainController.java +++ b/src/main/java/kcc/web/MainController.java @@ -217,7 +217,7 @@ public class MainController { private String pwFindUrl_Global; /** 구동 환경 */ - @Value("#{globalSettings['Globals.prod.islocal']}") + @Value("#{property['Globals.prod.islocal']}") private String environment; @RequestMapping(value = "/{siteId}/web/main/mainPage_keri.do") diff --git a/src/main/resources/egovframework/sqlmap/let/uat/uia/EgovLoginUsr_SQL_Tibero.xml b/src/main/resources/egovframework/sqlmap/let/uat/uia/EgovLoginUsr_SQL_Tibero.xml index 38ef228e..46b3ed34 100644 --- a/src/main/resources/egovframework/sqlmap/let/uat/uia/EgovLoginUsr_SQL_Tibero.xml +++ b/src/main/resources/egovframework/sqlmap/let/uat/uia/EgovLoginUsr_SQL_Tibero.xml @@ -423,11 +423,11 @@ @@ -436,4 +436,11 @@ SET mber_seq = #mberSeq# WHERE mber_id = #id# + + + /* 임시.*NOT_SQL_LOG.* loginDAO.updateMberSeqKeyNull*/ + UPDATE LETTNGNRLMBER + SET mber_seq = '' + WHERE mber_id = #user_id# + diff --git a/src/main/resources/egovframework/sqlmap/let/uss/umt/EgovUserManage_SQL_Tibero.xml b/src/main/resources/egovframework/sqlmap/let/uss/umt/EgovUserManage_SQL_Tibero.xml index 883b48b7..8d66d3d7 100644 --- a/src/main/resources/egovframework/sqlmap/let/uss/umt/EgovUserManage_SQL_Tibero.xml +++ b/src/main/resources/egovframework/sqlmap/let/uss/umt/EgovUserManage_SQL_Tibero.xml @@ -889,7 +889,6 @@ mber_sttus, sbscrb_de, esntl_id, - mber_seq, frst_regist_pnttm, last_updt_pnttm ) @@ -900,7 +899,6 @@ #emplyrSttusCode#, SYSTIMESTAMP, #uniqId#, - #uniqId#, SYSTIMESTAMP, SYSTIMESTAMP ) 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 11b5d801..0625953e 100644 --- a/src/main/webapp/WEB-INF/jsp/web/com/webCommonHeader.jsp +++ b/src/main/webapp/WEB-INF/jsp/web/com/webCommonHeader.jsp @@ -130,13 +130,13 @@ function usrJoin(){ cache: false, success: function (returnData, status) { if(returnData.status == 'loginY'){ - alert(returnData.user_id); - alert(returnData.key); window.location.href = "http://223.255.205.7/user/main/main.do?user_id="+returnData.user_id+"&key="+returnData.key; } else if(returnData.status == 'fail') { alert("key 갱신 오류"); + } else if(returnData.status == 'loginN'){ + alert("로그인을 해주세요.") } }, error: function (e) { @@ -190,13 +190,13 @@ function usrJoin(){ - - + + - - + +
@@ -282,12 +282,12 @@ function usrJoin(){ - - + + - - + + diff --git a/src/main/webapp/WEB-INF/jsp/web/kccadr/login/SsoLoginUsr.jsp b/src/main/webapp/WEB-INF/jsp/web/kccadr/login/SsoLoginUsr.jsp index 397ba6c4..861f95e8 100644 --- a/src/main/webapp/WEB-INF/jsp/web/kccadr/login/SsoLoginUsr.jsp +++ b/src/main/webapp/WEB-INF/jsp/web/kccadr/login/SsoLoginUsr.jsp @@ -102,9 +102,9 @@ function usrIdPassFind(choose){ - + <%-- --%> - + <%-- --%>
@@ -120,7 +120,7 @@ function usrIdPassFind(choose){ 로그인 해주세요

- + <%-- --%> 개발자 아이디 선택 :

-
+ <%--
--%>