diff --git a/src/main/java/geoinfo/main/login/LoginController.java b/src/main/java/geoinfo/main/login/LoginController.java index 9dea0e44..657049b7 100644 --- a/src/main/java/geoinfo/main/login/LoginController.java +++ b/src/main/java/geoinfo/main/login/LoginController.java @@ -715,6 +715,7 @@ public class LoginController { @RequestMapping(value = "/login.do", method = RequestMethod.POST) public ModelAndView login(HttpSession session, Map 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"); String msg = ""; String url = ""; @@ -722,6 +723,7 @@ public class LoginController { String clientIp = ""; String liq_yn = ""; String goveCode = ""; + String admPwdChg = ""; login_param = GeoinfoCommon.parseData(login_param); String userid = ""; @@ -926,6 +928,7 @@ public class LoginController { virtualNo = (String) selectWebMemberIn.get("virtualno"); userid = selectWebMemberIn.get("userid").toString(); userName = selectWebMemberIn.get("user_name").toString(); + admPwdChg = sUtil.checkNull((String)selectWebMemberIn.get("adm_pwd_chg")); //관리자가 사용자의 비밀번호를 변경하면 사용자 최초 로그인시 비밀번호를 변경하여야함. if( selectWebMemberIn.get("company_name") != null ) { companyName = selectWebMemberIn.get("company_name").toString(); } @@ -1001,6 +1004,7 @@ public class LoginController { selectWebMemberIn = loginService.selectWebMemberInLoginCount(map2); if (selectWebMemberIn != null) { + admPwdChg = sUtil.checkNull((String)selectWebMemberIn.get("adm_pwd_chg")); //관리자가 사용자의 비밀번호를 변경하면 사용자 최초 로그인시 비밀번호를 변경하여야함. loginCount = Integer.parseInt(selectWebMemberIn.get("login_count").toString()); map.put("loginCount", loginCount); } @@ -1158,6 +1162,12 @@ public class LoginController { msg = ""; mv = new ModelAndView("home/liq_chk"); } + if ("Y".equals(admPwdChg)) { + + msg = ""; + url = "topMenuSelect.do?url=mypage_passch"; + + } } } @@ -1660,7 +1670,8 @@ public class LoginController { int affectedRows = 0; map.clear(); 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() ) { //DI값을 업데이트 한다. String values = MyUtil.getStringFromObject( map.get("values") ); diff --git a/src/main/resources/egovframework/sqlmap/mapper/main/Login_SQL.xml b/src/main/resources/egovframework/sqlmap/mapper/main/Login_SQL.xml index 5ead924e..45cc7329 100644 --- a/src/main/resources/egovframework/sqlmap/mapper/main/Login_SQL.xml +++ b/src/main/resources/egovframework/sqlmap/mapper/main/Login_SQL.xml @@ -26,7 +26,8 @@ COMPANY_NAME, PART_NAME, PHONE, - EMAIL + EMAIL, + ADM_PWD_CHG FROM WEB_MEMBER_IN WHERE @@ -61,7 +62,7 @@