Merge branch 'master_tolag3'

관리자 계정 생성 시 초기 비밀번호 교체 유도
This commit is contained in:
leejunho 2025-10-27 11:53:37 +09:00
parent 7a61789d61
commit 5e9c5c5131
9 changed files with 52 additions and 7 deletions

View File

@ -125,6 +125,8 @@ public class LoginVO implements Serializable{
private String mberCi; private String mberCi;
private String joinType;
public String getId() { public String getId() {
return id; return id;
} }
@ -440,6 +442,13 @@ public class LoginVO implements Serializable{
public void setMberCi(String mberCi) { public void setMberCi(String mberCi) {
this.mberCi = mberCi; this.mberCi = mberCi;
} }
public String getJoinType() {
return joinType;
}
public void setJoinType(String joinType) {
this.joinType = joinType;
}

View File

@ -68,6 +68,7 @@ public class EgovSessionMapping extends EgovUsersByUsernameMapping {
String strOrgnztNm = rs.getString("orgnzt_nm"); String strOrgnztNm = rs.getString("orgnzt_nm");
String strAuthority = rs.getString("authority"); String strAuthority = rs.getString("authority");
String strMberSeq = rs.getString("mber_seq"); String strMberSeq = rs.getString("mber_seq");
String strJoinType = rs.getString("join_type");
HttpServletRequest request = ((ServletRequestAttributes) HttpServletRequest request = ((ServletRequestAttributes)
@ -88,6 +89,7 @@ public class EgovSessionMapping extends EgovUsersByUsernameMapping {
loginVO.setOrgnztNm(strOrgnztNm); loginVO.setOrgnztNm(strOrgnztNm);
loginVO.setAuthority(strAuthority); loginVO.setAuthority(strAuthority);
loginVO.setMembSeq(strMberSeq); loginVO.setMembSeq(strMberSeq);
loginVO.setJoinType(strJoinType);
request.getSession().setAttribute("LoginVO", loginVO); // LoginVO세션 생성 request.getSession().setAttribute("LoginVO", loginVO); // LoginVO세션 생성

View File

@ -1849,11 +1849,18 @@ public class EgovLoginController {
// 관리자 로그인 // 관리자 로그인
LoginVO user = (LoginVO) EgovUserDetailsHelper.getAuthenticatedUser(); 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"; return "redirect:/cmm/main/mainPage.do";
} else if ("ROLE_USER_MANAGER".equals(user.getAuthority())) { } else if ("ROLE_USER_MANAGER".equals(user.getAuthority())) {
return "redirect:/web/main/mainPage.do"; return "redirect:/web/main/mainPage.do";

View File

@ -180,6 +180,8 @@ public class UserManageVO extends UserDefaultVO{
private String mberCi; private String mberCi;
private String joinType;
public String getAuthorCode() { public String getAuthorCode() {
return authorCode; return authorCode;
} }
@ -723,6 +725,13 @@ public class UserManageVO extends UserDefaultVO{
public void setMberCi(String mberCi) { public void setMberCi(String mberCi) {
this.mberCi = mberCi; this.mberCi = mberCi;
} }
public String getJoinType() {
return joinType;
}
public void setJoinType(String joinType) {
this.joinType = joinType;
}

View File

@ -131,6 +131,8 @@ public class EgovUserManageServiceImpl extends EgovAbstractServiceImpl implement
//pass = EgovFileScrty.encryptPassword(userManageVO.getPassword(), userManageVO.getEmplyrId()); //pass = EgovFileScrty.encryptPassword(userManageVO.getPassword(), userManageVO.getEmplyrId());
pass = EgovNewPasswordUtil.hashPassword(userManageVO.getPassword()); pass = EgovNewPasswordUtil.hashPassword(userManageVO.getPassword());
userManageVO.setPassword(pass); userManageVO.setPassword(pass);
//사용자가 비밀번호 변경해야함
userManageVO.setJoinType("0");
}else { }else {
//관리자 이외 //관리자 이외
userManageVO.setPassword(pass); userManageVO.setPassword(pass);

View File

@ -57,6 +57,7 @@ import kcc.com.cmm.service.EgovFileMngService;
import kcc.com.cmm.service.EgovFileMngUtil; import kcc.com.cmm.service.EgovFileMngUtil;
import kcc.com.cmm.util.EgovDoubleSubmitHelper; import kcc.com.cmm.util.EgovDoubleSubmitHelper;
import kcc.com.cmm.util.RedirectUrlMaker; import kcc.com.cmm.util.RedirectUrlMaker;
import kcc.com.cmm.util.StringUtil;
import kcc.com.utl.fcc.service.EgovStringUtil; import kcc.com.utl.fcc.service.EgovStringUtil;
import kcc.let.org.service.LocVO; import kcc.let.org.service.LocVO;
import kcc.let.org.service.OrgChartManageService; import kcc.let.org.service.OrgChartManageService;
@ -2482,6 +2483,14 @@ public class EgovUserManageController {
p_model.addAttribute("userOneDepth", userOneDepth); p_model.addAttribute("userOneDepth", userOneDepth);
p_model.addAttribute("userTwoDepth", userTwoDepth); p_model.addAttribute("userTwoDepth", userTwoDepth);
p_model.addAttribute("orgHiddenList", orgHiddenList); p_model.addAttribute("orgHiddenList", orgHiddenList);
// 계정 생성 비밀번호를 한번도 변경하지 않았으면 관련 메시지 노출
if(
StringUtil.isNotEmpty(p_loginVO.getJoinType())
&& "0".equals(p_loginVO.getJoinType())
){
p_model.addAttribute("message", "계정 생성 후 비밀번호를 변경하지 않았습니다. \\n비밀번호를 변경 해주시기 바랍니다.");
}
}catch(Exception ex) { }catch(Exception ex) {
ex.printStackTrace(); ex.printStackTrace();
} }

View File

@ -25,7 +25,7 @@
jdbcUsersByUsernameQuery="SELECT USER_ID, ESNTL_ID AS PASSWORD, 1 ENABLED, USER_NM, USER_ZIP, jdbcUsersByUsernameQuery="SELECT USER_ID, ESNTL_ID AS PASSWORD, 1 ENABLED, USER_NM, USER_ZIP,
USER_ADRES, USER_EMAIL, USER_SE, '-' ORGNZT_ID, ESNTL_ID, USER_ADRES, USER_EMAIL, USER_SE, '-' ORGNZT_ID, ESNTL_ID,
'-' ORGNZT_NM, AUTHOR_CODE AS AUTHORITY '-' ORGNZT_NM, AUTHOR_CODE AS AUTHORITY
, '' AS mber_seq , '' AS mber_seq, JOIN_TYPE AS JOIN_TYPE
FROM COMVNUSERMASTER A FROM COMVNUSERMASTER A
INNER JOIN LETTNEMPLYRSCRTYESTBS B ON A.ESNTL_ID = B.SCRTY_DTRMN_TRGET_ID INNER JOIN LETTNEMPLYRSCRTYESTBS B ON A.ESNTL_ID = B.SCRTY_DTRMN_TRGET_ID
WHERE CONCAT(USER_SE, USER_ID) = ?" WHERE CONCAT(USER_SE, USER_ID) = ?"

View File

@ -218,7 +218,8 @@
]]> ]]>
</isEqual> </isEqual>
</isNotEmpty> </isNotEmpty>
CRTFC_DN_VALUE ) CRTFC_DN_VALUE,
JOIN_TYPE )
VALUES ( VALUES (
#uniqId# , #uniqId# ,
#emplyrId# , #emplyrId# ,
@ -256,7 +257,8 @@
#snsId# , #snsId# ,
#snsEmail# , #snsEmail# ,
</isNotEmpty> </isNotEmpty>
#subDn# ) #subDn#,
#joinType# )
</insert> </insert>
<!-- <insert id="userManageDAO.insertUser_GNR"> <!-- <insert id="userManageDAO.insertUser_GNR">
@ -564,6 +566,7 @@
UPDATE LETTNEMPLYRINFO UPDATE LETTNEMPLYRINFO
SET SET
PASSWORD = #password# PASSWORD = #password#
, JOIN_TYPE = '1'
WHERE ESNTL_ID = #uniqId# WHERE ESNTL_ID = #uniqId#
]]> ]]>
</update> </update>

View File

@ -85,6 +85,10 @@ $( document ).ready(function(){
$('#userWork_case2').hide(); $('#userWork_case2').hide();
} }
*/ */
<c:if test="${message != null}">
alert("<c:out value='${message}' />");
</c:if>
}); });
function setOrgDepth_01(){ function setOrgDepth_01(){