diff --git a/src/main/java/kcc/com/cmm/LoginVO.java b/src/main/java/kcc/com/cmm/LoginVO.java index 890c8b40..cbc0cde4 100644 --- a/src/main/java/kcc/com/cmm/LoginVO.java +++ b/src/main/java/kcc/com/cmm/LoginVO.java @@ -125,6 +125,8 @@ public class LoginVO implements Serializable{ private String mberCi; + private String joinType; + public String getId() { return id; } @@ -440,6 +442,13 @@ public class LoginVO implements Serializable{ public void setMberCi(String mberCi) { this.mberCi = mberCi; } + public String getJoinType() { + return joinType; + } + public void setJoinType(String joinType) { + this.joinType = joinType; + } + 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 20f3a061..6b581dec 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 @@ -68,6 +68,7 @@ public class EgovSessionMapping extends EgovUsersByUsernameMapping { String strOrgnztNm = rs.getString("orgnzt_nm"); String strAuthority = rs.getString("authority"); String strMberSeq = rs.getString("mber_seq"); + String strJoinType = rs.getString("join_type"); HttpServletRequest request = ((ServletRequestAttributes) @@ -88,6 +89,7 @@ public class EgovSessionMapping extends EgovUsersByUsernameMapping { loginVO.setOrgnztNm(strOrgnztNm); loginVO.setAuthority(strAuthority); loginVO.setMembSeq(strMberSeq); + loginVO.setJoinType(strJoinType); request.getSession().setAttribute("LoginVO", loginVO); // 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 aa4b56e6..6637bf81 100644 --- a/src/main/java/kcc/let/uat/uia/web/EgovLoginController.java +++ b/src/main/java/kcc/let/uat/uia/web/EgovLoginController.java @@ -1849,11 +1849,18 @@ public class EgovLoginController { // 관리자 로그인 시 LoginVO user = (LoginVO) EgovUserDetailsHelper.getAuthenticatedUser(); - System.out.println("===========actionMain===========2"); - System.out.println(loginService.getUserAuth(user).getAuthority()); - System.out.println(user.getAuthority()); - if ("ROLE_ADMIN".equals(loginService.getUserAuth(user).getAuthority())) { // 수퍼관리자 경우 + String authStr = user.getAuthority(); + if( + "0".equals(user.getJoinType()) + && ("ROLE_ADMIN".equals(authStr) + || "ROLE_VISIT".equals(authStr) + || "ROLE_ADR_JRSDC".equals(authStr) + || "ROLE_ADR_KIPO".equals(authStr) + || "ROLE_ADR_PREV".equals(authStr)) + ) { //관리자 계정 생성 후 비밀번호를 한번도 변경하지 않은경우 비밀번호 변경 페이지로 이동 + return "redirect:/uss/umt/user/EgovUserSelectUpdtView4Self.do"; + } else if ("ROLE_ADMIN".equals(loginService.getUserAuth(user).getAuthority())) { // 수퍼관리자 경우 return "redirect:/cmm/main/mainPage.do"; } else if ("ROLE_USER_MANAGER".equals(user.getAuthority())) { return "redirect:/web/main/mainPage.do"; 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 f0c83250..3229a4b7 100644 --- a/src/main/java/kcc/let/uss/umt/service/UserManageVO.java +++ b/src/main/java/kcc/let/uss/umt/service/UserManageVO.java @@ -180,6 +180,8 @@ public class UserManageVO extends UserDefaultVO{ private String mberCi; + private String joinType; + public String getAuthorCode() { return authorCode; } @@ -723,6 +725,13 @@ public class UserManageVO extends UserDefaultVO{ public void setMberCi(String mberCi) { this.mberCi = mberCi; } + public String getJoinType() { + return joinType; + } + public void setJoinType(String joinType) { + this.joinType = joinType; + } + 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 18fc3904..1fba2d71 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 @@ -131,6 +131,8 @@ public class EgovUserManageServiceImpl extends EgovAbstractServiceImpl implement //pass = EgovFileScrty.encryptPassword(userManageVO.getPassword(), userManageVO.getEmplyrId()); pass = EgovNewPasswordUtil.hashPassword(userManageVO.getPassword()); userManageVO.setPassword(pass); + //사용자가 비밀번호 변경해야함 + userManageVO.setJoinType("0"); }else { //관리자 이외 userManageVO.setPassword(pass); diff --git a/src/main/java/kcc/let/uss/umt/web/EgovUserManageController.java b/src/main/java/kcc/let/uss/umt/web/EgovUserManageController.java index b7d951f9..d486e5b1 100644 --- a/src/main/java/kcc/let/uss/umt/web/EgovUserManageController.java +++ b/src/main/java/kcc/let/uss/umt/web/EgovUserManageController.java @@ -57,6 +57,7 @@ import kcc.com.cmm.service.EgovFileMngService; import kcc.com.cmm.service.EgovFileMngUtil; import kcc.com.cmm.util.EgovDoubleSubmitHelper; import kcc.com.cmm.util.RedirectUrlMaker; +import kcc.com.cmm.util.StringUtil; import kcc.com.utl.fcc.service.EgovStringUtil; import kcc.let.org.service.LocVO; import kcc.let.org.service.OrgChartManageService; @@ -2482,6 +2483,14 @@ public class EgovUserManageController { p_model.addAttribute("userOneDepth", userOneDepth); p_model.addAttribute("userTwoDepth", userTwoDepth); p_model.addAttribute("orgHiddenList", orgHiddenList); + + // 계정 생성 후 비밀번호를 한번도 변경하지 않았으면 관련 메시지 노출 + if( + StringUtil.isNotEmpty(p_loginVO.getJoinType()) + && "0".equals(p_loginVO.getJoinType()) + ){ + p_model.addAttribute("message", "계정 생성 후 비밀번호를 변경하지 않았습니다. \\n비밀번호를 변경 해주시기 바랍니다."); + } }catch(Exception ex) { ex.printStackTrace(); } diff --git a/src/main/resources/egovframework/spring/com/context-security.xml b/src/main/resources/egovframework/spring/com/context-security.xml index 497cdb8a..f1501519 100644 --- a/src/main/resources/egovframework/spring/com/context-security.xml +++ b/src/main/resources/egovframework/spring/com/context-security.xml @@ -25,7 +25,7 @@ jdbcUsersByUsernameQuery="SELECT USER_ID, ESNTL_ID AS PASSWORD, 1 ENABLED, USER_NM, USER_ZIP, USER_ADRES, USER_EMAIL, USER_SE, '-' ORGNZT_ID, ESNTL_ID, '-' ORGNZT_NM, AUTHOR_CODE AS AUTHORITY - , '' AS mber_seq + , '' AS mber_seq, JOIN_TYPE AS JOIN_TYPE FROM COMVNUSERMASTER A INNER JOIN LETTNEMPLYRSCRTYESTBS B ON A.ESNTL_ID = B.SCRTY_DTRMN_TRGET_ID WHERE CONCAT(USER_SE, USER_ID) = ?" 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 c09a453b..931b6d54 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 @@ -218,7 +218,8 @@ ]]> - CRTFC_DN_VALUE ) + CRTFC_DN_VALUE, + JOIN_TYPE ) VALUES ( #uniqId# , #emplyrId# , @@ -256,7 +257,8 @@ #snsId# , #snsEmail# , - #subDn# ) + #subDn#, + #joinType# )