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 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;
}

View File

@ -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세션 생성

View File

@ -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";

View File

@ -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;
}

View File

@ -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);

View File

@ -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();
}

View File

@ -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) = ?"

View File

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

View File

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