관리자가 사용자의 비밀번호 변경 후 사용자 최초 로그인 시 비밀번호 변경 화면으로 이동

사용자가 비밀번호 변경하면 WEB_MEMBER_IN.ADM_PWD_CHG = NULL
main
유지인 2025-11-20 10:48:35 +09:00
parent 536043d387
commit 96b961d3a6
2 changed files with 15 additions and 3 deletions

View File

@ -715,6 +715,7 @@ public class LoginController {
@RequestMapping(value = "/login.do", method = RequestMethod.POST) @RequestMapping(value = "/login.do", method = RequestMethod.POST)
public ModelAndView login(HttpSession session, Map<String, Object> map, HttpServletRequest request, HttpServletResponse response, @RequestParam("location") String location, @RequestParam("login_param") String login_param, @RequestParam("id") String id, @RequestParam("cls") String cls, @RequestParam("pass") String pass) throws Exception { public ModelAndView login(HttpSession session, Map<String, Object> map, HttpServletRequest request, HttpServletResponse response, @RequestParam("location") String location, @RequestParam("login_param") String login_param, @RequestParam("id") String id, @RequestParam("cls") String cls, @RequestParam("pass") String pass) throws Exception {
strUtil sUtil = new strUtil();
ModelAndView mv = new ModelAndView("home/login"); ModelAndView mv = new ModelAndView("home/login");
String msg = ""; String msg = "";
String url = ""; String url = "";
@ -722,6 +723,7 @@ public class LoginController {
String clientIp = ""; String clientIp = "";
String liq_yn = ""; String liq_yn = "";
String goveCode = ""; String goveCode = "";
String admPwdChg = "";
login_param = GeoinfoCommon.parseData(login_param); login_param = GeoinfoCommon.parseData(login_param);
String userid = ""; String userid = "";
@ -926,6 +928,7 @@ public class LoginController {
virtualNo = (String) selectWebMemberIn.get("virtualno"); virtualNo = (String) selectWebMemberIn.get("virtualno");
userid = selectWebMemberIn.get("userid").toString(); userid = selectWebMemberIn.get("userid").toString();
userName = selectWebMemberIn.get("user_name").toString(); userName = selectWebMemberIn.get("user_name").toString();
admPwdChg = sUtil.checkNull((String)selectWebMemberIn.get("adm_pwd_chg")); //관리자가 사용자의 비밀번호를 변경하면 사용자 최초 로그인시 비밀번호를 변경하여야함.
if( selectWebMemberIn.get("company_name") != null ) { if( selectWebMemberIn.get("company_name") != null ) {
companyName = selectWebMemberIn.get("company_name").toString(); companyName = selectWebMemberIn.get("company_name").toString();
} }
@ -1001,6 +1004,7 @@ public class LoginController {
selectWebMemberIn = loginService.selectWebMemberInLoginCount(map2); selectWebMemberIn = loginService.selectWebMemberInLoginCount(map2);
if (selectWebMemberIn != null) { if (selectWebMemberIn != null) {
admPwdChg = sUtil.checkNull((String)selectWebMemberIn.get("adm_pwd_chg")); //관리자가 사용자의 비밀번호를 변경하면 사용자 최초 로그인시 비밀번호를 변경하여야함.
loginCount = Integer.parseInt(selectWebMemberIn.get("login_count").toString()); loginCount = Integer.parseInt(selectWebMemberIn.get("login_count").toString());
map.put("loginCount", loginCount); map.put("loginCount", loginCount);
} }
@ -1158,6 +1162,12 @@ public class LoginController {
msg = "<script>alert('기존회원에 한하여 최초 1회 액상화 위험지도 사용확인 요청 페이지로 이동합니다.');</script>"; msg = "<script>alert('기존회원에 한하여 최초 1회 액상화 위험지도 사용확인 요청 페이지로 이동합니다.');</script>";
mv = new ModelAndView("home/liq_chk"); mv = new ModelAndView("home/liq_chk");
} }
if ("Y".equals(admPwdChg)) {
msg = "<script>alert('비밀번호가 초기화 됐습니다. 비밀번호를 변경해주세요.');</script>";
url = "topMenuSelect.do?url=mypage_passch";
}
} }
} }
@ -1660,7 +1670,8 @@ public class LoginController {
int affectedRows = 0; int affectedRows = 0;
map.clear(); map.clear();
map.put("table", "WEB_MEMBER_IN"); map.put("table", "WEB_MEMBER_IN");
map.put("values", "PSWD_MONTH=SYSDATE, PASSWD='" + passwordch + "'"); // ADM_PWD_CHG -> 관리자가 비밀번호 변경 후 사용자 최초 로그인 시 비밀번호 변경 필요(관리자가 변경시 Y, 사용자 최초 로그인하여 변경시 NULL)
map.put("values", "PSWD_MONTH=SYSDATE, PASSWD='" + passwordch + "', ADM_PWD_CHG=NULL");
if( DI != null && !DI.isEmpty() ) { if( DI != null && !DI.isEmpty() ) {
//DI값을 업데이트 한다. //DI값을 업데이트 한다.
String values = MyUtil.getStringFromObject( map.get("values") ); String values = MyUtil.getStringFromObject( map.get("values") );

View File

@ -26,7 +26,8 @@
COMPANY_NAME, COMPANY_NAME,
PART_NAME, PART_NAME,
PHONE, PHONE,
EMAIL EMAIL,
ADM_PWD_CHG
FROM WEB_MEMBER_IN FROM WEB_MEMBER_IN
WHERE WHERE
<if test="userid != null"> <if test="userid != null">
@ -61,7 +62,7 @@
<select id="selectWebMemberInLoginCount" parameterType="String" resultType="org.apache.commons.collections.map.CaseInsensitiveMap"> <select id="selectWebMemberInLoginCount" parameterType="String" resultType="org.apache.commons.collections.map.CaseInsensitiveMap">
SELECT AGREEYN, USERID, PASSWD, CLS, USER_NAME, SYSDATE, LOGIN_COUNT, LAST_LOGIN_DATE + 1/(24*12) AS SYSDATE2, VIRTUALNO, SELECT AGREEYN, USERID, PASSWD, CLS, USER_NAME, SYSDATE, LOGIN_COUNT, LAST_LOGIN_DATE + 1/(24*12) AS SYSDATE2, VIRTUALNO,
DECODE(PROJECT_MASTER_COMPANY_CODE,'','0',PROJECT_MASTER_COMPANY_CODE) MASTER_COMPANY_CODE, DECODE(PROJECT_MASTER_COMPANY_CODE,'','0',PROJECT_MASTER_COMPANY_CODE) MASTER_COMPANY_CODE,
to_char(trunc(months_between(SYSDATE, PSWD_MONTH))) as PSWD_LIMIT, LIQ_YN, GOVEMENT_CODE, CERTIFICATION_YN to_char(trunc(months_between(SYSDATE, PSWD_MONTH))) as PSWD_LIMIT, LIQ_YN, GOVEMENT_CODE, CERTIFICATION_YN, ADM_PWD_CHG
FROM WEB_MEMBER_IN FROM WEB_MEMBER_IN
WHERE WHERE
<if test="userid != null"> <if test="userid != null">