이지우 - 로그인 처리

This commit is contained in:
JIWOO 2024-07-16 17:40:08 +09:00
parent a58e98c1b0
commit def877bfec
7 changed files with 186 additions and 33 deletions

View File

@ -126,6 +126,29 @@ public class LoginVO implements Serializable{
private String phone;
/*분쟁조정 회원테이블 정보*/
private String memberIdx;
private String memberAddress1;
private String memberAddress2;
private String memberCode;
private String memberContactDate;
private String memberEmail1;
private String memberEmail2;
private String memberId;
private String memberIp;
private String memberDept;
private String memberPosition;
private String memberTel;
private String memberPhone;
private String memberItemA1; //추가항목
private String memberOldPw;
private String memberOldPwChk;
private String memberModDate;
private String memberName;
private String memberPost;
private String memberPw;
public String getId() {
return id;
}
@ -437,6 +460,126 @@ public class LoginVO implements Serializable{
public void setPhone(String phone) {
this.phone = phone;
}
public String getMemberIdx() {
return memberIdx;
}
public void setMemberIdx(String memberIdx) {
this.memberIdx = memberIdx;
}
public String getMemberAddress1() {
return memberAddress1;
}
public void setMemberAddress1(String memberAddress1) {
this.memberAddress1 = memberAddress1;
}
public String getMemberAddress2() {
return memberAddress2;
}
public void setMemberAddress2(String memberAddress2) {
this.memberAddress2 = memberAddress2;
}
public String getMemberCode() {
return memberCode;
}
public void setMemberCode(String memberCode) {
this.memberCode = memberCode;
}
public String getMemberContactDate() {
return memberContactDate;
}
public void setMemberContactDate(String memberContactDate) {
this.memberContactDate = memberContactDate;
}
public String getMemberEmail1() {
return memberEmail1;
}
public void setMemberEmail1(String memberEmail1) {
this.memberEmail1 = memberEmail1;
}
public String getMemberEmail2() {
return memberEmail2;
}
public void setMemberEmail2(String memberEmail2) {
this.memberEmail2 = memberEmail2;
}
public String getMemberId() {
return memberId;
}
public void setMemberId(String memberId) {
this.memberId = memberId;
}
public String getMemberIp() {
return memberIp;
}
public void setMemberIp(String memberIp) {
this.memberIp = memberIp;
}
public String getMemberDept() {
return memberDept;
}
public void setMemberDept(String memberDept) {
this.memberDept = memberDept;
}
public String getMemberPosition() {
return memberPosition;
}
public void setMemberPosition(String memberPosition) {
this.memberPosition = memberPosition;
}
public String getMemberTel() {
return memberTel;
}
public void setMemberTel(String memberTel) {
this.memberTel = memberTel;
}
public String getMemberPhone() {
return memberPhone;
}
public void setMemberPhone(String memberPhone) {
this.memberPhone = memberPhone;
}
public String getMemberItemA1() {
return memberItemA1;
}
public void setMemberItemA1(String memberItemA1) {
this.memberItemA1 = memberItemA1;
}
public String getMemberOldPw() {
return memberOldPw;
}
public void setMemberOldPw(String memberOldPw) {
this.memberOldPw = memberOldPw;
}
public String getMemberOldPwChk() {
return memberOldPwChk;
}
public void setMemberOldPwChk(String memberOldPwChk) {
this.memberOldPwChk = memberOldPwChk;
}
public String getMemberModDate() {
return memberModDate;
}
public void setMemberModDate(String memberModDate) {
this.memberModDate = memberModDate;
}
public String getMemberName() {
return memberName;
}
public void setMemberName(String memberName) {
this.memberName = memberName;
}
public String getMemberPost() {
return memberPost;
}
public void setMemberPost(String memberPost) {
this.memberPost = memberPost;
}
public String getMemberPw() {
return memberPw;
}
public void setMemberPw(String memberPw) {
this.memberPw = memberPw;
}

View File

@ -154,7 +154,7 @@ public class EgovMainController {
@SuppressWarnings("unchecked")
@RequestMapping(value = "/cmm/main/mainPage.do")
public String selectGetMgtMainPage(HttpServletRequest request, ModelMap model, HttpSession session) throws Exception{
//LoginVO loginVO = (LoginVO) EgovUserDetailsHelper.getAuthenticatedUser();
LoginVO loginVO = (LoginVO) EgovUserDetailsHelper.getAuthenticatedUser();
LoginVO user = null ;

View File

@ -54,19 +54,15 @@ public class EgovLoginServiceImpl extends EgovAbstractServiceImpl implements
@Override
public LoginVO actionLogin(LoginVO vo) throws Exception {
//최고관리자를 제외한 사용자 sso 로그인으로 비밀번호 암호화 삭제(210818, 이준호)
// 1. 입력한 비밀번호를 암호화한다.
if("USR".equals(vo.getUserSe())) {
String enpassword = EgovFileScrty.encryptPassword(vo.getPassword(), vo.getId());
vo.setPassword(enpassword);
vo.setPassword("JfQ7FIatlaE5jj7rPYO8QBABX8yb7bNbQy4AKY1QIfc=");
}
String enpassword = EgovFileScrty.encryptPassword(vo.getPassword(), vo.getId());
vo.setPassword(enpassword);
vo.setPassword("72ddc97081262e52953e0a75db05eff2108cfb9b2745083de7fedb65c20e0b85");
// 2. 아이디와 암호화된 비밀번호가 DB와 일치하는지 확인한다.
LoginVO loginVO = loginDAO.actionLogin(vo);
// 3. 결과를 리턴한다.
if (loginVO != null && !loginVO.getId().equals("") && !loginVO.getPassword().equals("")) {
if (loginVO != null && !loginVO.getMemberId().equals("") && !loginVO.getMemberPw().equals("")) {
return loginVO;
} else {
loginVO = new LoginVO();

View File

@ -63,8 +63,8 @@ public class EgovSessionMapping extends EgovUsersByUsernameMapping {
/**2010.06.30 *이용 *조직명 추가 */
String strOrgnztNm = rs.getString("orgnzt_nm");
String strAuthority = rs.getString("authority");
String strMberSeq = rs.getString("mber_seq");
String ofcpsNm = rs.getString("ofcps_nm");
/*String strMberSeq = rs.getString("mber_seq");
String ofcpsNm = rs.getString("ofcps_nm");*/
String offmTelno = rs.getString("offm_telno").toString();
@ -81,10 +81,10 @@ public class EgovSessionMapping extends EgovUsersByUsernameMapping {
/**2010.06.30 *이용 *조직명 추가 */
loginVO.setOrgnztNm(strOrgnztNm);
loginVO.setAuthority(strAuthority);
loginVO.setMembSeq(strMberSeq);
/*loginVO.setMembSeq(strMberSeq);*/
/*20221012 대시보드를 위해 직급 코드 추가*/
loginVO.setOfcpsNm(ofcpsNm);
/*loginVO.setOfcpsNm(ofcpsNm);*/
loginVO.setPhone(offmTelno);

View File

@ -507,20 +507,23 @@ public class EgovLoginController {
// 1. 로그인 처리
LoginVO resultVO = loginService.actionLogin(loginVO);
if (null == resultVO.getId()) { // 로그인 실패
if (null == resultVO.getMemberId()) { // 로그인 실패
loginService.updatePassMissPlus(loginVO);
model.addAttribute("message", egovMessageSource.getMessage("fail.common.login"));
// initRsa(request);
return "uat/uia/EgovLoginUsr";
}
/* if (null == resultVO.getId()) { // 로그인 실패
loginService.updatePassMissPlus(loginVO);
model.addAttribute("message", egovMessageSource.getMessage("fail.common.login"));
return "uat/uia/EgovLoginUsr";
} else {
if (resultVO.getPassMiss() > 10) {
model.addAttribute("message", "패스워드가 10회 이상 틀려 로그인 할수 없습니다. 관리자에게 문의하시기 바랍니다.");
// initRsa(request);
return "uat/uia/EgovLoginUsr";
} else { // 초기화
loginService.updatePassMissReset(loginVO);
}
}
if (resultVO.getPassMiss() > 10) {
model.addAttribute("message", "패스워드가 10회 이상 틀려 로그인 할수 없습니다. 관리자에게 문의하시기 바랍니다.");
return "uat/uia/EgovLoginUsr";
} else { // 초기화
loginService.updatePassMissReset(loginVO);
}
}*/
// 2. 허용IP조회
boolean loginPolicyYn = false;
@ -568,7 +571,7 @@ public class EgovLoginController {
// resultVO.siteId 로그인 ip를 조회함
// if (resultVO != null && resultVO.getId() != null &&
// !resultVO.getId().equals("") && loginPolicyYn) {
if (resultVO != null && resultVO.getId() != null && !resultVO.getId().equals("")) {
if (resultVO != null && resultVO.getMemberId() != null && !resultVO.getMemberId().equals("")) {
// 세션에다 ip 등록
resultVO.setIp(userIp);
// 2. spring security 연동
@ -592,7 +595,7 @@ public class EgovLoginController {
throw new IllegalStateException("No AuthenticationProcessingFilter");
}
springSecurity.doFilter(new RequestWrapperForSecurity(request, resultVO.getUserSe() + resultVO.getId(), resultVO.getUniqId()), response, null);
springSecurity.doFilter(new RequestWrapperForSecurity(request, resultVO.getUserSe() + resultVO.getMemberId(), resultVO.getMemberIdx()), response, null);
{ // 관리자 로그인 log 저장
String uniqId = "";
String ip = "";
@ -607,12 +610,12 @@ public class EgovLoginController {
loginLog.setSiteId(user.getSiteId());
HttpSession httpSession = request.getSession(true);
{
List<SiteManagerVO> siteManageList = new ArrayList<SiteManagerVO>();
/*List<SiteManagerVO> siteManageList = new ArrayList<SiteManagerVO>();
SiteManagerVO siteManagerVO = new SiteManagerVO();
siteManagerVO.setFirstIndex(0);
siteManagerVO.setRecordCountPerPage(100);
siteManageList = egovSiteManagerService.selectSiteManagerList(siteManagerVO);
httpSession.setAttribute("siteManageList", siteManageList);
httpSession.setAttribute("siteManageList", siteManageList);*/
httpSession.setAttribute("adminId", user.getId());
httpSession.setAttribute("loginId", user.getId()); // 자동완성 공통으로 쓰기위해
httpSession.setAttribute("esntlId", user.getPassword());

View File

@ -3,5 +3,5 @@
"http://www.ibatis.com/dtd/sql-map-config-2.dtd">
<sqlMapConfig>
<sqlMap resource="egovframework/sqlmap/let/uat/uia/EgovLoginUsr_SQL_Mysql.xml"/>
<sqlMap resource="egovframework/sqlmap/let/uat/uia/EgovLoginUsr_SQL_Oracle.xml"/>
</sqlMapConfig>

View File

@ -23,9 +23,20 @@
</resultMap>
<!-- SSO용 ESNTL_ID를 이용한 로그인처리 (210818 이준호) GNR -> 일반회원, USR -> 업무담당자 -->
<select id="loginDAO.actionLogin" resultMap="login">
<!-- 일반회원 -->
<select id="loginDAO.actionLogin" resultClass="loginVO">
SELECT MEMBER_IDX AS memberIdx
, MEMBER_NAME AS memberName
, MEMBER_ID AS memberId
, MEMBER_PW AS memberPw
, 'USR' AS userSe
FROM T_MEMBER a
WHERE MEMBER_ID = #id#
AND MEMBER_PW = #password#
AND MEMBER_STATUS = 'U'
</select>
<!-- <select id="loginDAO.actionLogin" resultMap="login">
일반회원
<isNotNull property="userSe">
<isEqual property="userSe" compareValue="GNR">
SELECT mber_id AS id
@ -48,7 +59,7 @@
AND emplyr_sttus_code = 'P'
</isEmpty>
</isEqual>
<!-- 업무사용자 -->
업무사용자
<isEqual property="userSe" compareValue="USR">
SELECT EMPLYR_ID AS id
, USER_NM AS name
@ -70,7 +81,7 @@
</isEmpty>
</isEqual>
</isNotNull>
</select>
</select> -->
<!-- 개발자 아이디 선택용 -->
<select id="loginDAO.actionLoginDev" resultMap="login">