Merge branch 'master_tolag3'

This commit is contained in:
leejunho 2025-10-13 16:57:34 +09:00
commit 2f7304f7f9
10 changed files with 175 additions and 284 deletions

View File

@ -123,6 +123,8 @@ public class LoginVO implements Serializable{
private String returnUrl;
private String mberSeq;
private String mberCi;
public String getId() {
return id;
}
@ -432,6 +434,13 @@ public class LoginVO implements Serializable{
public void setMberSeq(String mberSeq) {
this.mberSeq = mberSeq;
}
public String getMberCi() {
return mberCi;
}
public void setMberCi(String mberCi) {
this.mberCi = mberCi;
}

View File

@ -65,6 +65,7 @@ public class EgovLoginServiceImpl extends EgovAbstractServiceImpl implements
//step3.둘다 아니면 loginvo ret
LoginVO loginVO = null;
String s_password = vo.getPassword();
String s_ci = vo.getMberCi();
System.out.println("======1========================"+s_password);
System.out.println("======1========================"+EgovNewPasswordUtil.hashPassword(s_password));
System.out.println("======1========================"+EgovFileScrty.encryptPassword(s_password, vo.getId()));
@ -83,8 +84,15 @@ public class EgovLoginServiceImpl extends EgovAbstractServiceImpl implements
loginVO = loginDAO.actionLoginNew(vo);
System.out.println("======3========================"+s_password);
System.out.println("======3========================"+loginVO.getPassword());
if (EgovNewPasswordUtil.matches(s_password, loginVO.getPassword())) {
return loginVO;
if("USR".equals(loginVO.getUserSe())) {
if (EgovNewPasswordUtil.matches(s_password, loginVO.getPassword())) {
return loginVO;
}
}else {
//ci로 바꾸기
if (EgovNewPasswordUtil.matches(s_ci, loginVO.getMberCi())) {
return loginVO;
}
}
/*

View File

@ -3,8 +3,12 @@ package kcc.let.uat.uia.service.impl;
import java.sql.ResultSet;
import java.sql.SQLException;
import javax.servlet.http.HttpServletRequest;
import javax.sql.DataSource;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import egovframework.rte.fdl.security.userdetails.EgovUserDetails;
import egovframework.rte.fdl.security.userdetails.jdbc.EgovUsersByUsernameMapping;
import kcc.com.cmm.LoginVO;
@ -66,8 +70,13 @@ public class EgovSessionMapping extends EgovUsersByUsernameMapping {
String strMberSeq = rs.getString("mber_seq");
HttpServletRequest request = ((ServletRequestAttributes)
RequestContextHolder.getRequestAttributes()).getRequest();
// 세션 항목 설정
LoginVO loginVO = new LoginVO();
// LoginVO loginVO = new LoginVO();
LoginVO loginVO = (LoginVO) request.getSession().getAttribute("LoginVO");
loginVO.setId(strUserId);
loginVO.setPassword(strPassWord);
loginVO.setName(strUserNm);
@ -79,6 +88,8 @@ public class EgovSessionMapping extends EgovUsersByUsernameMapping {
loginVO.setOrgnztNm(strOrgnztNm);
loginVO.setAuthority(strAuthority);
loginVO.setMembSeq(strMberSeq);
request.getSession().setAttribute("LoginVO", loginVO); // LoginVO세션 생성
return new EgovUserDetails(strUserId, strPassWord, strEnabled, loginVO);
}

View File

@ -61,6 +61,7 @@ import kcc.com.cmm.EgovMessageSource;
import kcc.com.cmm.LoginVO;
import kcc.com.cmm.captcha.CaptchaUtil;
import kcc.com.cmm.spring.data.util.ProfileUtil;
import kcc.com.cmm.util.StringUtil;
import kcc.com.cmm.util.WebUtil;
import kcc.com.utl.user.service.CheckLoginUtil;
import kcc.let.sym.log.clg.service.EgovLoginLogService;
@ -80,6 +81,7 @@ import kcc.let.uss.umt.service.UserGuestVO;
import kcc.let.uss.umt.service.UserManageVO;
import kcc.let.utl.fcc.service.EgovCryptoUtil;
import kcc.let.utl.sim.service.EgovClntInfo;
import kcc.let.utl.sim.service.EgovNewPasswordUtil;
import kcc.ve.instr.tngrVisitEdu.instrInfo.service.VEInstrDetailVO;
import kcc.ve.instr.tngrVisitEdu.instrInfo.service.VEInstrService;
@ -187,7 +189,6 @@ public class EgovLoginController {
/** 구동 환경 */
@Value("#{property['Globals.prod.islocal']}")
private String environment;
/*
*//**
@ -333,32 +334,12 @@ public class EgovLoginController {
//로그인 처리====================================
/*
Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated();
if (isAuthenticated)
return "redirect:/web/main/mainPage.do";
*/
// 로그인필요 URL 호출하여 온경우
String beforeUrl = (String) commandMap.get("beforeUrl");
String message = (String) commandMap.get("message");
// 실서버 적용시 바꾸기
String returnSiteUrl = returnSiteUrlGlobal;
String returnSiteCode = returnSiteCodeGlobal;
String idFindUrl = idFindUrl_Global;
String pwFindUrl = pwFindUrl_Global;
String joinUrl = joinUrl_Global;
model.addAttribute("returnSiteUrl", (URLEncoder.encode(returnSiteUrl)));
model.addAttribute("returnSiteCode", returnSiteCode);
model.addAttribute("idFindUrl", idFindUrl);
model.addAttribute("pwFindUrl", pwFindUrl);
model.addAttribute("joinUrl", joinUrl);
model.addAttribute("beforeUrl", beforeUrl);
model.addAttribute("message", message);
model.addAttribute("environment", environment);
//로컬은 셀렉트박스 로그인
return "web/kccadr/login/SsoLoginUsr";
}
@ -731,149 +712,59 @@ public class EgovLoginController {
* @exception Exception
*/
@RequestMapping(value = "/web/user/login/actionSecurityLogin.do")
public String selectActionSecurityLoginWeb(@ModelAttribute("loginVO") LoginVO loginVO, HttpServletResponse response, HttpServletRequest request, ModelMap model, HttpSession session,
RedirectAttributes redirectAttributes) throws Exception {
public String selectActionSecurityLoginWeb(
@ModelAttribute("loginVO") LoginVO loginVO
, HttpServletResponse response
, HttpServletRequest request
, ModelMap model
, HttpSession session
, RedirectAttributes redirectAttributes
) throws Exception {
//일반 로그인이 아니므로 1로 세팅
loginVO.setPassword("1");
// 로그인 정보 check
if (loginVO.getId() == null || loginVO.getPassword() == null) {
SsoLoginVO SsoLoginSessionChk = (SsoLoginVO) session.getAttribute("SSOLoginVO");
// SSOLoginVO 세션 체크
if (SsoLoginSessionChk != null) {
loginVO.setId(SsoLoginSessionChk.getMembId());
loginVO.setPassword("1");
} else {
model.addAttribute("message", "로그인을 다시 해주세요.");
// 로그인 페이지로 이동
/*return "/web/kccadr/login/SsoLoginUsr";*/
return "redirect:/web/user/login/ssoLogin.do";
}
}
SsoLoginVO ssologinVO = new SsoLoginVO();
/*231031.개발서버 selectbox 로그인용 임시
isDev 삭제 처리*/
if ((ProfileUtil.isLocal() || ProfileUtil.isTLocal() || ProfileUtil.isDev()) && "Y".equals(loginVO.getIsSelect())) { // sso login
loginVO.setStatusAll("N");
ssologinVO.setMembSeq(loginVO.getId()); //중요
//loginVO = loginService.actionLogin(loginVO);
//기존에 개발자 로그인은 selectbox와 mber_seq로 로그인 처리.
//e배움터 연동 mber_seq는 key로 사용하기 때문에 mber_id로 로그인 처리 과정
//loginVO = loginService.actionLoginDev(loginVO); //개발자 아이디 선택 로그인시
loginVO = loginService.actionLoginMberId(loginVO);
//ssologinVO.setMembSeq(loginVO.getId()); //중요
//loginVO = loginService.actionLoginDev(loginVO); //개발자 아이디 선택 로그인시
//ssologinVO.setMembSeq(loginVO.getId()); //중요
ssologinVO.setMembId(loginVO.getEmail());
// ================== 이름 암호화로 나오는 문제 해결 ====================
ssologinVO.setMembName(egovCryptoUtil.decrypt(loginVO.getName()));
System.out.println("==================임시==================");
// ==== 계속 암호화에 암호화가 되서 임시로 넣음
ssologinVO.setMembName(egovCryptoUtil.decrypt(ssologinVO.getMembName()));
ssologinVO.setMembName(egovCryptoUtil.decrypt(ssologinVO.getMembName()));
ssologinVO.setMembName(egovCryptoUtil.decrypt(ssologinVO.getMembName()));
ssologinVO.setMembName(egovCryptoUtil.decrypt(ssologinVO.getMembName()));
ssologinVO.setMembName(egovCryptoUtil.decrypt(ssologinVO.getMembName()));
ssologinVO.setSexCode("M");
ssologinVO.setMembEmail(loginVO.getEmail());
ssologinVO.setMembCelnum(loginVO.getMembCelnum());
ssologinVO.setMembBirth(loginVO.getMembBirth());
/*
* ssologinVO.setMembSmsRecpYn(loginVO.getMembSmsRecpYn());
* ssologinVO.setMembEmailRecpYn(loginVO.getMembEmailRecpYn());
*
* ssologinVO.setDispsettMembDivisCode(loginVO.getDispsettMembDivisCode());
* ssologinVO.setCorpnum(loginVO.getCorpnum());
* ssologinVO.setBuisnRegnum(loginVO.getBuisnRegnum());
* ssologinVO.setCompTitle(loginVO.getCompTitle());
*/
session.setAttribute("SSOLoginVO", ssologinVO);
} else { //sso login
ssologinVO = (SsoLoginVO) session.getAttribute("SSOLoginVO");
String SsoLoginResult = "";
/* if (ssologinVO == null) {
SSO로그인 SSOLoginVO 세선 생성
SsoLogin ssoLogin = new SsoLogin();
SsoLoginResult = ssoLogin.SsoLogin(loginVO.getId(), loginVO.getPassword(), request);
}
if ("fail".equals(SsoLoginResult)) {
redirectAttributes.addAttribute("message", "아이디 비밀번호를 확인해 주세요.");
redirectAttributes.addFlashAttribute("message", "아이디 비밀번호를 확인해 주세요.");
return "redirect:/web/user/login/ssoLogin.do";
}*/
}
// ssologinVO = (SsoLoginVO) session.getAttribute("SSOLoginVO");
/*if ("".equals(ssologinVO.getDispsettMembDivisCode())) {
신청 관련코드 받아오면 처리
System.out.println("조정분류코드 없음");
}*/
// if (loginVO.getId() == null || loginVO.getPassword() == null) {
// SsoLoginVO SsoLoginSessionChk = (SsoLoginVO) session.getAttribute("SSOLoginVO");
// // SSOLoginVO 세션 체크
// if (SsoLoginSessionChk != null) {
//
// loginVO.setId(SsoLoginSessionChk.getMembId());
// loginVO.setPassword("1");
// } else {
// model.addAttribute("message", "로그인을 다시 해주세요.");
// // 로그인 페이지로 이동
// /*return "/web/kccadr/login/SsoLoginUsr";*/
// return "redirect:/web/user/login/ssoLogin.do";
// }
// }
if(StringUtil.isEmpty(loginVO.getMberCi())) {
model.addAttribute("message", "로그인을 다시 해주세요.");
// 로그인 페이지로 이동
return "redirect:/web/user/login/ssoLogin.do";
}
// 기존에 있던 회원이 아니면 DB에 일련번호 저장
/* UserManageVO userManageVO = new UserManageVO();
userManageVO.setMberSeq(ssologinVO.getMembSeq());
UserManageVO userManageVO = new UserManageVO();
userManageVO.setMberCi(loginVO.getMberCi());
userManageVO = userManageService.selectKccadrUser(userManageVO);
if (null == userManageVO) {
UserManageVO tmpUserManageVO = new UserManageVO();
tmpUserManageVO.setMberSeq(ssologinVO.getMembSeq());
tmpUserManageVO.setMberCi(loginVO.getMberCi());
tmpUserManageVO.setAuthorCode("ROLE_USER_MEMBER");
tmpUserManageVO.setEmplyrNm(ssologinVO.getMembName());
tmpUserManageVO = egovCryptoUtil.encryptUserManageVO(tmpUserManageVO);
tmpUserManageVO.setEmplyrNm("");
// tmpUserManageVO = egovCryptoUtil.encryptUserManageVO(tmpUserManageVO);
String result = userManageService.insertUser(tmpUserManageVO);
userManageVO = userManageService.selectKccadrUser(tmpUserManageVO);
}else { //기존에 있던 회원이라면 이름 최신화
UserManageVO tmpUserManageVO = new UserManageVO();
tmpUserManageVO.setMberSeq(ssologinVO.getMembSeq());
tmpUserManageVO.setEmplyrNm(ssologinVO.getMembName());
tmpUserManageVO = egovCryptoUtil.encryptUserManageVO(tmpUserManageVO);
userManageService.updateUserNm(tmpUserManageVO);
}*/
/*loginVO.setId(userManageVO.getEmplyrId());
loginVO.setPassword(userManageVO.getPassword());
*/
/*
* ssoLoginVO에서 아이디와, 일련번호, 부가가입여부 체크해서 DB에 일치하는 정보가 있는지 체크하고 일치하면 통과, 없으면
* ssoLoginVO에서 일련번호, 부가가입여부를 포함한 사용자 정보 DB에 insert
*/
}
loginVO.setUserSe("GNR");
loginVO.setId(userManageVO.getEmplyrId());
// 로그인 정보 check
/*
* if(loginVO.getId() == null || loginVO.getPassword() == null){ // 회원가입 로그인
* 처리 LoginVO pLoginVO = (LoginVO)request.getAttribute("pLoginVO"); if (pLoginVO
* == null) { // RSA 생성 initRsa(request); return
* "redirect:/web/user/login/login.do"; } else {
* loginVO.setId(pLoginVO.getId()); loginVO.setPassword(pLoginVO.getPassword());
* loginVO.setBeforeUrl(pLoginVO.getBeforeUrl());
* loginVO.setMessage(pLoginVO.getMessage()); } }
*/
// 관리자 유무 체크
List<EgovMap> authorities = (List<EgovMap>) loginService.selectAuthorities(loginVO);
Boolean adminFlag = false;
@ -890,7 +781,7 @@ public class EgovLoginController {
// initRsa(request);
return "web/site/login/EgovLoginGnrlUsr";
}
// 1. 일반 로그인 처리
LoginVO resultVO;
// 복호화
@ -934,25 +825,25 @@ public class EgovLoginController {
resultVO.setIp(userIp);
System.out.println("==13==");
// LoginVO세션에 사용자 정보 넣기
resultVO.setMembSeq(ssologinVO.getMembSeq());
resultVO.setMembId(ssologinVO.getMembId());
resultVO.setMembName(ssologinVO.getMembName());
resultVO.setMembSeq(ssologinVO.getMembSeq());
resultVO.setMembCi(ssologinVO.getMembCi());
resultVO.setMembEmail(ssologinVO.getMembEmail());
resultVO.setMembCelnum(ssologinVO.getMembCelnum());
resultVO.setMembBirth(ssologinVO.getMembBirth());
resultVO.setMembSmsRecpYn(ssologinVO.getMembSmsRecpYn());
resultVO.setMembEmailRecpYn(ssologinVO.getMembEmailRecpYn());
resultVO.setSexCode(ssologinVO.getSexCode());
resultVO.setDispsettMembDivisCode(ssologinVO.getDispsettMembDivisCode());
resultVO.setCorpnum(ssologinVO.getCorpnum());
resultVO.setBuisnRegnum(ssologinVO.getBuisnRegnum());
resultVO.setCompTitle(ssologinVO.getCompTitle());
// resultVO.setMembSeq(ssologinVO.getMembSeq());
// resultVO.setMembId(ssologinVO.getMembId());
// resultVO.setMembName(ssologinVO.getMembName());
// resultVO.setMembSeq(ssologinVO.getMembSeq());
// resultVO.setMembCi(ssologinVO.getMembCi());
// resultVO.setMembEmail(ssologinVO.getMembEmail());
// resultVO.setMembCelnum(ssologinVO.getMembCelnum());
// resultVO.setMembBirth(ssologinVO.getMembBirth());
// resultVO.setMembSmsRecpYn(ssologinVO.getMembSmsRecpYn());
// resultVO.setMembEmailRecpYn(ssologinVO.getMembEmailRecpYn());
// resultVO.setSexCode(ssologinVO.getSexCode());
// resultVO.setDispsettMembDivisCode(ssologinVO.getDispsettMembDivisCode());
// resultVO.setCorpnum(ssologinVO.getCorpnum());
// resultVO.setBuisnRegnum(ssologinVO.getBuisnRegnum());
// resultVO.setCompTitle(ssologinVO.getCompTitle());
// 2. spring security 연동
request.getSession().setAttribute("LoginVO", resultVO); // LoginVO세션 생성
System.out.println("@@@@로그인VO:"+resultVO+"@@@@@@");
// request.getSession().setAttribute("LoginVO", resultVO); // LoginVO세션 생성
// System.out.println("@@@@로그인VO:"+resultVO+"@@@@@@");
UsernamePasswordAuthenticationFilter springSecurity = new UsernamePasswordAuthenticationFilter();
ApplicationContext act = WebApplicationContextUtils.getRequiredWebApplicationContext(request.getSession().getServletContext());
Map<String, UsernamePasswordAuthenticationFilter> beans = act.getBeansOfType(UsernamePasswordAuthenticationFilter.class);
@ -967,8 +858,32 @@ public class EgovLoginController {
}
System.out.println("==14=1=");
/*
* springSecurity filter -> context-security.xml의 jdbcUsersByUsernameQuery -> egovSessionMapping.java 순으로 진행됨.
* egovSessionMapping.java에서 생성된 session은 (LoginVO) EgovUserDetailsHelper.getAuthenticatedUser(); 통해 불러올수있음.
* 단순 getsession을 통해 LoginVO를 불러올 경우를 대비해 기존소스는 일일히 세션을 생성했으나( 주석 40줄 위에 주석된 부분) egovSessionMapping에서 LoginVO세션도 생성하도록 변경함
*
* 정리.
* (LoginVO) EgovUserDetailsHelper.getAuthenticatedUser(); 통해 LoginVO를 얻었을경우
*
* reqeust.getSession().getAttribute("LoginVO"); 통해 LoginVO를 얻을 경우
* 값이 다를 경우가 존재하여 egovSessionMapping.java를 통해 EgovUserDetailsHelper.getAuthenticatedUser();에서의 값을 생성할때
* LoginVO세션도 같이 만들어 값을 통일하도록 수정
* 20251013_이준호
*
*/
/*
* LoginVO를 세션에서 바로 얻기위해 set session
*/
request.getSession().setAttribute("LoginVO", loginVO); // LoginVO세션 생성
springSecurity.doFilter(new RequestWrapperForSecurity(request, resultVO.getUserSe() + resultVO.getId(), resultVO.getUniqId()), response, null);
/*
* dofilter 이후 egovSessionMapping.java 에서 request.getSession().setAttribute("LoginVO", loginVO); 세션 set도 같이
*/
try{
System.out.println("==14=1=");
System.out.println("EgovUserDetailsHelper.isAuthenticated()");
@ -1908,27 +1823,6 @@ public class EgovLoginController {
if (session.getAttribute("pageType") != null) {
if ("web".equals((String) session.getAttribute("pageType"))) { // 사용자
LoginVO loginVO = (LoginVO) EgovUserDetailsHelper.getAuthenticatedUser();
// 강사 로그인
// 청소년 강사 && 성인 강사 -> 청소년저작권강사 대시보드
// 성인 강사 -> 성인저작권강사 대시보드
// redirect
if("ROLE_USER_MANAGER".equals(loginVO.getAuthority())) {
VEInstrDetailVO vEInstrDetailVO = new VEInstrDetailVO();
vEInstrDetailVO.setUserId(loginVO.getUniqId());
vEInstrDetailVO = vEInstrService.selectDetail(vEInstrDetailVO);
session.setAttribute("pageType", null);
if("Y".equals(vEInstrDetailVO.getTngrInstrYn())) {
//청소년 강사 대시보드
return "redirect:/web/ve/instr/tngrVisitEdu/instrInfo/instrDashboard.do";
}else if ("Y".equals(vEInstrDetailVO.getAdultInstrYn())) {
//성인 강사 대시보드
return "redirect:/web/ve/instr/adultVisitEdu/instrInfo/instrDashboard.do";
}
}
if (session.getAttribute("beforeSiteUrl") != null) { // 사용자 메인
String tempSessionUrl = (String) session.getAttribute("beforeSiteUrl");
@ -1950,23 +1844,9 @@ public class EgovLoginController {
}
}
// e-배움터 연동 로그인 - LoginVO 세션의 return url로 이동
try {
LoginVO eEduLoginVO = (LoginVO) session.getAttribute("LoginVO");
if(eEduLoginVO != null) {
if(eEduLoginVO.getUrl() != null) {
return "redirect:" + eEduLoginVO.getUrl();
}
}
}catch(Exception ex) {
ex.printStackTrace();
}
// 관리자 로그인
LoginVO user = (LoginVO) EgovUserDetailsHelper.getAuthenticatedUser();
System.out.println("===========actionMain===========2");
System.out.println(loginService.getUserAuth(user).getAuthority());
System.out.println(user.getAuthority());

View File

@ -178,6 +178,8 @@ public class UserManageVO extends UserDefaultVO{
private int totCnt = 0; //회원 Id
private String mberCi;
public String getAuthorCode() {
return authorCode;
}
@ -715,6 +717,13 @@ public class UserManageVO extends UserDefaultVO{
public void setTotCnt(int totCnt) {
this.totCnt = totCnt;
}
public String getMberCi() {
return mberCi;
}
public void setMberCi(String mberCi) {
this.mberCi = mberCi;
}
}

View File

@ -124,6 +124,7 @@ public class EgovUserManageServiceImpl extends EgovAbstractServiceImpl implement
|| "ROLE_VISIT".equals(userManageVO.getAuthorCode()) //찾교 관리자
|| "ROLE_ADR_JRSDC".equals(userManageVO.getAuthorCode()) //기소유예관할
|| "ROLE_ADR_KIPO".equals(userManageVO.getAuthorCode()) //부정경쟁행위 시정명령
|| "ROLE_ADR_PREV".equals(userManageVO.getAuthorCode()) //부정경쟁행위 시정명령
){
//관리자
//패스워드 암호화
@ -143,6 +144,7 @@ public class EgovUserManageServiceImpl extends EgovAbstractServiceImpl implement
|| "ROLE_VISIT".equals(userManageVO.getAuthorCode()) //찾교 관리자
|| "ROLE_ADR_JRSDC".equals(userManageVO.getAuthorCode()) //기소유예관할
|| "ROLE_ADR_KIPO".equals(userManageVO.getAuthorCode()) //부정경쟁행위 시정명령
|| "ROLE_ADR_PREV".equals(userManageVO.getAuthorCode()) //부정경쟁행위 시정명령
) {
@ -163,6 +165,7 @@ public class EgovUserManageServiceImpl extends EgovAbstractServiceImpl implement
|| "ROLE_VISIT".equals(userManageVO.getAuthorCode()) //찾교 관리자
|| "ROLE_ADR_JRSDC".equals(userManageVO.getAuthorCode()) //기소유예관할
|| "ROLE_ADR_KIPO".equals(userManageVO.getAuthorCode()) //부정경쟁행위 시정명령
|| "ROLE_ADR_PREV".equals(userManageVO.getAuthorCode()) //부정경쟁행위 시정명령
) {
authorGroup.setMberTyCode("USR"); //관리자

View File

@ -20,7 +20,8 @@
<result property="emplyrSttusCode" column="emplyrSttusCode" columnIndex="10"/>
<result property="membCelnum" column="membCelnum" columnIndex="11"/>
<result property="membBirth" column="membBirth" columnIndex="12"/>
<result property="userWork" column="userWork" columnIndex="13"/>
<result property="userWork" column="userWork" columnIndex="13"/>
<result property="mberCi" column="mberCi" columnIndex="14"/>
</resultMap>
@ -43,6 +44,7 @@
, mbtlnum AS membCelnum
, birth_day AS membBirth
, '' AS userWork
, mber_ci AS mberCi
FROM lettngnrlmber a
WHERE mber_id = #id#
AND PASSWORD = #password#
@ -64,7 +66,8 @@
, EMPLYR_STTUS_CODE AS emplyrSttusCode
, mbtlnum AS membCelnum
, '' AS membBirth
, user_work AS userWork
, user_work AS userWork
, '' AS mberCi
FROM LETTNEMPLYRINFO a
WHERE EMPLYR_ID = #id#
AND PASSWORD = #password#
@ -93,7 +96,8 @@
, mber_sttus AS emplyrSttusCode
, mbtlnum AS membCelnum
, birth_day AS membBirth
, '' AS userWork
, '' AS userWork
, mber_ci AS mberCi
FROM lettngnrlmber a
WHERE mber_id = #id#
</isEqual>
@ -111,7 +115,8 @@
, EMPLYR_STTUS_CODE AS emplyrSttusCode
, mbtlnum AS membCelnum
, '' AS membBirth
, user_work AS userWork
, user_work AS userWork
, '' AS mberCi
FROM LETTNEMPLYRINFO a
WHERE EMPLYR_ID = #id#
</isEqual>
@ -137,6 +142,7 @@
, mbtlnum AS membCelnum
, birth_day AS membBirth
, '' AS userWork
, mber_ci AS mberCi
FROM lettngnrlmber a
WHERE mber_seq = #id#
<isEmpty property="statusAll">
@ -157,7 +163,8 @@
, EMPLYR_STTUS_CODE AS emplyrSttusCode
, mbtlnum AS membCelnum
, '' AS membBirth
, user_work AS userWork
, user_work AS userWork
, '' AS mberCi
FROM LETTNEMPLYRINFO a
WHERE EMPLYR_ID = #id#
<isEmpty property="statusAll">
@ -185,7 +192,8 @@
, mber_sttus AS emplyrSttusCode
, mbtlnum AS membCelnum
, birth_day AS membBirth
, '' AS userWork
, '' AS userWork
, mber_ci AS mberCi
FROM lettngnrlmber a
WHERE mber_id = #id#
<isEmpty property="statusAll">
@ -206,7 +214,8 @@
, EMPLYR_STTUS_CODE AS emplyrSttusCode
, mbtlnum AS membCelnum
, '' AS membBirth
, user_work AS userWork
, user_work AS userWork
, '' AS mberCi
FROM LETTNEMPLYRINFO a
WHERE EMPLYR_ID = #id#
<isEmpty property="statusAll">
@ -512,6 +521,7 @@
, mbtlnum AS membCelnum
, birth_day AS membBirth
, '' AS userWork
, mber_ci AS mberCi
FROM lettngnrlmber a
WHERE mber_id = #id#
AND PASSWORD = #password#

View File

@ -303,7 +303,7 @@
sbscrb_de,
esntl_id,
dept,
mber_seq,
mber_ci,
frst_regist_pnttm,
last_updt_pnttm
)
@ -318,7 +318,7 @@
, NOW()
, #uniqId#
, NULL
, #mberSeq#
, crypt(#mberCi#, gen_salt('bf', 10))
, NOW()
, NOW()
)
@ -889,10 +889,10 @@
<select id="userManageDAO.selectKccadrUser" parameterClass="userVO" resultClass="userVO">
/* userManageDAO.selectKccadrUser */
SELECT a.mber_id AS emplyrId,
a.mber_seq AS mberSeq,
a.mber_ci AS mberCi,
a.password AS password
FROM lettngnrlmber A
WHERE a.mber_seq = #mberSeq#
WHERE a.mber_ci = crypt(#mberCi#, a.mber_ci)
</select>
<update id="userManageDAO.updateUserNm" parameterClass="userVO" >

View File

@ -36,14 +36,16 @@
<div class="inner">
<c:choose>
<%-- 로그인전 --%>
<c:when test="${empty LoginVO or empty ssoLoginVO}">
<%-- <c:when test="${empty LoginVO or empty ssoLoginVO}"> --%>
<c:when test="${empty LoginVO}">
<div class="login">
<a href="${pageContext.request.contextPath}/web/user/login/ssoLogin.do" class="btn line gray">본인인증</a>
</div>
</c:when>
<%-- 로그인 후 --%>
<c:when test="${!empty LoginVO and !empty ssoLoginVO}">
<%-- <c:when test="${!empty LoginVO and !empty ssoLoginVO}"> --%>
<c:when test="${!empty LoginVO}">
<div class="login_after">
<div class="user_info">
<p><c:out value="${LoginVO.id}"/>님</p>

View File

@ -13,81 +13,40 @@ $(document).ready(function(){
alert('${message}');
}
});
function press(event) { if (event.keyCode == 13) actionLogin(); }
function login() {
if($('#devIdSelect').val()!=""){
if($('#devIdSelect').val() != ""){
var id = ($('#devIdSelect').val()).split(':');
const str = $("#devIdSelect").val();
const arr = str.split(":");
$("#membName").val(arr[0]);
$("#membCelnum").val(arr[1]);
$("#sexCode").val(arr[2]);
$("#membBirth").val(arr[3]);
$("#mberCi").val(arr[4]);
$("#id_text").val(id[0]);
$("#password_text").val(id[1]);
$("#id").val(id[0]);
$("#password").val(id[1]);
$("#isSelect").val("Y");
document.loginForm.action="<c:url value='/web/user/login/actionSecurityLogin.do'/>";
document.loginForm.submit();
actionLogin();
}
}
function actionLogin() {
/* if (document.loginForm.id_text.value =="") {
alert("아이디를 입력하세요");
return;
} else if (document.loginForm.password_text.value =="") {
alert("비밀번호를 입력하세요");
return;
} else { */
//개발 완료시 삭제영역
/* const str = $("#devIdSelect").val();
const arr = str.split("/");
$("#id_text").val(arr[0]);
$("#password_text").val(arr[1]); */
//개발완료시 삭제 영역 끝
if( isNotEmpty($('#itnIdSelect').val())){
var id = ($('#itnIdSelect').val()).split(':')
$("#id_text").val(id[0]);
$("#password_text").val(id[1]);
}
var id = $("#id_text").val();
var pw = $("#password_text").val();
$("#id").val(id);
$("#password").val(pw);
document.loginForm.action="<c:url value='/web/user/login/actionSecurityLogin.do'/>";
document.loginForm.submit();
}
function actionLogin2() {
document.loginForm.action="<c:url value='/web/chkloginKeyForOffedu.do'/>";
document.loginForm.submit();
}
</script>
<div class="cont_wrap" id="sub" style="width: 100%">
<form:form id="loginForm" name="loginForm" method="post" action="/web/user/login/actionSecurityLogin.do">
<input type="hidden" name="beforeUrl" value='<c:out value="${beforeUrl}"></c:out>' />
<input type="hidden" name="userSe" value="GNR" />
<input type="hidden" id="id" name="id">
<input type="hidden" id="password" name="password">
<%-- <kc:profile value="local"> --%>
<input type="hidden" id="isSelect" name="isSelect">
<%-- </kc:profile> --%>
<!-- cont -->
<input type="hidden" id="membName" name="membName">
<input type="hidden" id="membCelnum" name="membCelnum">
<input type="hidden" id="sexCode" name="sexCode">
<input type="hidden" id="membBirth" name="membBirth">
<input type="hidden" id="mberCi" name="mberCi">
<div class="cont_tit">
<h2>로그인</h2>
@ -98,16 +57,15 @@ function actionLogin2() {
</div>
<div class="login_wrap">
<p class="login_tit">
로그인 해주세요</br>
<span>사이트 오픈 시 셀렉트 박스를 통한 로그인은 삭제됩니다.</span>
</p>
개발자 아이디 선택 : <select id="devIdSelect" style="width: 400px; height: 30px;" onchange="login()">
<p class="login_tit">
본인인증 로그인</br>
<span>사이트 오픈 시 셀렉트 박스를 통한 로그인은 삭제됩니다.</span>
</p>
<select id="devIdSelect" style="width: 400px; height: 30px;" onchange="login()">
<option value="">로그인할 아이디를 선택해주세요.</option>
<option value="USRCNFRM_00000002613:1">개발팀 사용자(USRCNFRM_00000002613)_일반사용자1</option>
<!-- <option value="USRCNFRM_00000002613:1">개발팀 사용자(USRCNFRM_00000002613)_일반사용자1</option>
<option value="USRCNFRM_00000002720:1">개발팀 사용자(USRCNFRM_00000002720)_일반사용자2</option>
<option value="USRCNFRM_00000002650:1">기소유예사용자 1 (USRCNFRM_00000002650)_기소유예사용자 1</option>
<option value="USRCNFRM_00000002970:1">기소유예사용자 2 (USRCNFRM_00000002970)_기소유예사용자 2</option>
<option value="USRCNFRM_00000003070:1">기소유예사용자 3 (USRCNFRM_00000003070)_기소유예사용자 3</option>
@ -117,17 +75,18 @@ function actionLogin2() {
<option value="USRCNFRM_00000002943:1">기소유예사용자 7 (USRCNFRM_00000002943)_기소유예사용자 7</option>
<option value="USRCNFRM_00000002942:1">기소유예사용자 8 (USRCNFRM_00000002942)_기소유예사용자 8</option>
<option value="USRCNFRM_00000002941:1">기소유예사용자 9 (USRCNFRM_00000002941)_기소유예사용자 9</option>
<option value="USRCNFRM_00000002872:1">기소유예사용자 10 (USRCNFRM_00000002872)_기소유예사용자 10</option>
<option value="USRCNFRM_00000002872:1">기소유예사용자 10 (USRCNFRM_00000002872)_기소유예사용자 10</option> -->
<option value="홍길동:01012345678:M:19890202:AwekrDfuErjWrj/DSjfsduerlkrkjweR+DJfisdfioueklrjiJeudsdWErQWERasdvDASgfeRTdsioufiuERwe==">홍길동:01012345678:M:19890202</option>
<option value="엄길동:01011112222:M:20061230:BwekrDfuErjWrj/DSjfsduerlkrkjweR+DJfisdfioueklrjiJeudsdWErQWERasdvDASgfeRTdsioufiuERwe==">엄길동:01011112222:M:20061230</option>
<option value="이길동:01033334444:W:19580301:CwekrDfuErjWrj/DSjfsduerlkrkjweR+DJfisdfioueklrjiJeudsdWErQWERasdvDASgfeRTdsioufiuERwe==">이길동:01033334444:W:19580301</option>
<option value="김길동:01055556666:M:19930801:DwekrDfuErjWrj/DSjfsduerlkrkjweR+DJfisdfioueklrjiJeudsdWErQWERasdvDASgfeRTdsioufiuERwe==">김길동:01055556666:M:19930801</option>
<option value="최길동:01077778888:W:19240501:EwekrDfuErjWrj/DSjfsduerlkrkjweR+DJfisdfioueklrjiJeudsdWErQWERasdvDASgfeRTdsioufiuERwe==">최길동:01077778888:W:19240501</option>
<option value="채길동:01099998888:M:20040101:FwekrDfuErjWrj/DSjfsduerlkrkjweR+DJfisdfioueklrjiJeudsdWErQWERasdvDASgfeRTdsioufiuERwe==">채길동:01099998888:M:20040101</option>
<option value="박길동:01055551111:W:19991124:GwekrDfuErjWrj/DSjfsduerlkrkjweR+DJfisdfioueklrjiJeudsdWErQWERasdvDASgfeRTdsioufiuERwe==">박길동:01055551111:W:19991124</option>
</select>
<br></br>
<div class="login_form">
<label for="id_text" class="label" style="display:none">아이디 입력</label>
<input type="text" id="id_text" placeholder="아이디를 입력해주세요" style="display:none">
<label for="password_text" class="label" style="display:none">비밀번호 입력</label>
<input type="password" id="password_text" onkeypress="press(event)" placeholder="비밀번호를 입력해주세요" style="display:none">
<div class="login_btn_wrap">
<button type="button" onclick="javascript:actionLogin();" class="btn_login">로그인</button>
<button type="button" onclick="javascript:actionLogin();" class="btn_login">본인인증</button>
</div>
</div>