From f2b25d2775ea31caa38f12fa8ad14502a7b37e34 Mon Sep 17 00:00:00 2001 From: eastargh Date: Wed, 1 Jul 2026 10:06:56 +0900 Subject: [PATCH 1/9] =?UTF-8?q?API=EB=AA=85=20=EA=B2=80=EC=83=89=EC=A1=B0?= =?UTF-8?q?=EA=B1=B4=20sql=EC=97=90=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../rms/data/entity/onl/logger/EAILogRepositoryImpl.java | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/main/java/com/eactive/eai/rms/data/entity/onl/logger/EAILogRepositoryImpl.java b/src/main/java/com/eactive/eai/rms/data/entity/onl/logger/EAILogRepositoryImpl.java index 38126bd..417cb65 100644 --- a/src/main/java/com/eactive/eai/rms/data/entity/onl/logger/EAILogRepositoryImpl.java +++ b/src/main/java/com/eactive/eai/rms/data/entity/onl/logger/EAILogRepositoryImpl.java @@ -126,6 +126,15 @@ public class EAILogRepositoryImpl implements EAILogRepository { query.where(qeaiLog.eaisvcname.containsIgnoreCase(eaiLogSearch.getSearchEaiSvcName())); } + if (StringUtils.isNotBlank(eaiLogSearch.getSearchEaiSvcDesc())) { + QEAIMessageEntity qeaiMessageEntity = QEAIMessageEntity.eAIMessageEntity; + JPAQuery subQuery = new JPAQueryFactory(em) + .select(qeaiMessageEntity.eaisvcname) + .from(qeaiMessageEntity) + .where(qeaiMessageEntity.eaisvcdesc.containsIgnoreCase(eaiLogSearch.getSearchEaiSvcDesc())); + query.where(qeaiLog.eaisvcname.in(subQuery)); + } + if (StringUtils.isNotBlank(eaiLogSearch.getSearchKeyMgtMsgCtnt())) { query.where(qeaiLog.keymgtmsgctnt.contains(eaiLogSearch.getSearchKeyMgtMsgCtnt())); } From 8494758fcdd43fbd1c82d3570c4fc7cca414760e Mon Sep 17 00:00:00 2001 From: eastargh Date: Wed, 1 Jul 2026 10:27:18 +0900 Subject: [PATCH 2/9] =?UTF-8?q?=EC=8B=A0=EA=B7=9C=20=EB=B9=84=EB=B0=80?= =?UTF-8?q?=EB=B2=88=ED=98=B8=20=EB=B0=8F=20=EC=B4=88=EA=B8=B0=ED=99=94?= =?UTF-8?q?=EC=8B=9C=20=EC=82=AC=EB=B2=88+@!=20=EB=A1=9C=20=EC=84=A4?= =?UTF-8?q?=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/eactive/eai/rms/common/acl/user/UserManService.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/eactive/eai/rms/common/acl/user/UserManService.java b/src/main/java/com/eactive/eai/rms/common/acl/user/UserManService.java index dec6171..33ff53c 100644 --- a/src/main/java/com/eactive/eai/rms/common/acl/user/UserManService.java +++ b/src/main/java/com/eactive/eai/rms/common/acl/user/UserManService.java @@ -41,6 +41,8 @@ import lombok.RequiredArgsConstructor; @Transactional(transactionManager = "transactionManagerForEMS") @RequiredArgsConstructor public class UserManService extends BaseService { + + private final String DEFAULT_PASSWORD_SUBFIX = "@!"; private final UserInfoService userInfoService; private final UserRoleService userRoleService; @@ -100,7 +102,7 @@ public class UserManService extends BaseService { userInfo.setRoleidnfiname(CommonConstants.DEPT_DEVELOPER); try { - userInfo.setPassword(DamoManager.getInstance().hash(DamoManager.SHA256,userUI.getUserId())); + userInfo.setPassword(DamoManager.getInstance().hash(DamoManager.SHA256,userUI.getUserId()+DEFAULT_PASSWORD_SUBFIX)); } catch (Exception e) { throw new RuntimeException("Error encrypting password", e); } @@ -141,7 +143,7 @@ public class UserManService extends BaseService { public void updatePassword(UserUI userUI) throws Exception { UserInfo userInfo = userInfoService.getById(userUI.getUserId()); - userInfo.setPassword(DamoManager.getInstance().hash(DamoManager.SHA256, userUI.getUserId())); + userInfo.setPassword(DamoManager.getInstance().hash(DamoManager.SHA256, userUI.getUserId()+DEFAULT_PASSWORD_SUBFIX)); userUIMapper.updateToEntity(userUI, userInfo); userInfoService.save(userInfo); } From 61d710dd8ced5e0e73ab1fc05f0032aace7bf4d9 Mon Sep 17 00:00:00 2001 From: eastargh Date: Wed, 1 Jul 2026 14:23:55 +0900 Subject: [PATCH 3/9] =?UTF-8?q?=EC=B4=88=EA=B8=B0=EB=B9=84=EB=B0=80?= =?UTF-8?q?=EB=B2=88=ED=98=B8=EB=A1=9C=20=EB=A1=9C=EA=B7=B8=EC=9D=B8?= =?UTF-8?q?=EC=8B=9C=20=EB=B9=84=EB=B0=80=EB=B2=88=ED=98=B8=EB=B3=80?= =?UTF-8?q?=EA=B2=BD=20=EB=AA=A8=EB=8B=AC=20=EC=98=A4=ED=94=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- WebContent/jsp/common/screen/emergency.jsp | 71 +++++++++++-------- .../rms/common/acl/user/UserManService.java | 9 ++- .../rms/common/context/MonitoringContext.java | 3 + .../rms/common/login/LoginResponseDto.java | 5 ++ .../eai/rms/common/login/MainController.java | 18 +++++ 5 files changed, 74 insertions(+), 32 deletions(-) diff --git a/WebContent/jsp/common/screen/emergency.jsp b/WebContent/jsp/common/screen/emergency.jsp index b98632b..d2a2149 100644 --- a/WebContent/jsp/common/screen/emergency.jsp +++ b/WebContent/jsp/common/screen/emergency.jsp @@ -91,7 +91,10 @@ data: $('#loginForm').serialize(), dataType: 'json', success: function(response) { - if (response.smsAuthRequired) { + if (response.changePassword) { + showChangeInitPassword(response); + } + else if (response.smsAuthRequired) { // SMS 인증 필요 showSmsAuthModal(response); } else if (response.success) { @@ -108,6 +111,13 @@ } }); } + + function showChangeInitPassword(data) { + $('input[name="resetUserId"]').val($('input[name="userId"]').val()); + $('input[name="resetPassword"]').val($('input[name="password"]').val()); + $('#changeInitPassword').hide(); + $('#pwdChgModal').modal('show'); + } // SMS 인증 모달 표시 function showSmsAuthModal(data) { @@ -218,44 +228,39 @@ clearInterval(resendTimer); $('#smsAuthModal').modal('hide'); } - function changePwd(){ + + function checkPwd(){ if ($("input[name=resetUserId]").val() == null || $("input[name=resetUserId]").val().length == 0 ){ alert("<%= localeMessage.getString("login.checkid") %>"); $("input[name=resetUserId]").trigger("focus"); - return; + return false; } if ($("input[name=resetPassword]").val() == null || $("input[name=resetPassword]").val().trim().length == 0 ){ alert("<%= localeMessage.getString("login.checkpwd1") %>"); $("input[name=resetPassword]").trigger("focus"); - return; + return false; } if ($("input[name=changePassword]").val() == null || $("input[name=changePassword]").val().trim().length == 0 ){ alert("<%= localeMessage.getString("login.checkpwd2") %>"); $("input[name=changePassword]").trigger("focus"); - return ; + return false; } if ($("input[name=confirmPassword]").val() == null || $("input[name=confirmPassword]").val().trim().length == 0 ){ alert("<%= localeMessage.getString("login.checkpwd3") %>"); - return ; + return false; } - if ($("input[name=confirmPassword]").val() != $("input[name=confirmPassword]").val()){ + if ($("input[name=changePassword]").val() != $("input[name=confirmPassword]").val()){ alert("<%= localeMessage.getString("login.checkpwd4") %>"); $("input[name=confirmPassword]").trigger("focus"); - return ; + return false; } if ($("input[name=resetUserId]").val() == $("input[name=changePassword]").val()){ alert("<%= localeMessage.getString("login.checkpwd5") %>"); $("input[name=changePassword]").trigger("focus"); - return ; + return false; } - //if (idCheck.checked){ - // setCookie("key",id); - //} - <%-- $("form").attr("action",""); - //$("form").action = "<%=request.getContextPath()%>/changePassword.do"; - --%> - $("form").submit(); + return true; } $(document).ready(function() { @@ -271,14 +276,22 @@ }); $("input[name=changePassword]").keydown(function(event){ if ( event.which == 13 ) { - changePwd(); + $('#modalLoginForm').submit(); } }); $("input[name=confirmPassword]").keydown(function(event){ if ( event.which == 13 ) { - changePwd(); + $('#modalLoginForm').submit(); } }); + // Password Change 링크로 직접 열 때만 초기화 (JS에서 modal('show') 호출 시 relatedTarget 없음) + $('#pwdChgModal').on('show.bs.modal', function(event) { + if (event.relatedTarget) { + $('#modalLoginForm')[0].reset(); + $('#changeInitPassword').show(); + } + }); + $("select[name=serviceType]").change(function(){ fncPreMain(); }); @@ -286,9 +299,7 @@ $("#btn_login").click(function(){ fncPreMain(); }); - $("#changePwd").click(function(){ - changePwd(); - }); + $("#btn_sso_login").click(function(){ fncSsoLogin(); }); @@ -366,7 +377,7 @@ - +