회원탈퇴시 대출중 또는 연체 건수가 있을시 탈퇴불가(탈퇴시 sns데이터도 제거)

스크립트 조작으로 인증없이 가입가능한부분 수정
This commit is contained in:
JSYOO 2021-12-06 15:48:55 +09:00
parent 31e24d6e9e
commit 40062f8bd1
6 changed files with 58 additions and 59 deletions

View File

@ -234,7 +234,7 @@ public class MemberController extends NlibCommonController{
if(oauthUser == null) if(oauthUser == null)
{ {
model.addAttribute("msg","SNS인증이 정상적이지않습니다. 다시 회원가입을 진행해주세요."); model.addAttribute("msg","SNS인증이 정상적이지않습니다. 다시 회원가입을 진행해주세요.");
model.addAttribute("url","${pageContext.request.contextPath}"+NlibProperty.getString("member.new.url")); model.addAttribute("url",NlibProperty.getString("member.new.url"));
return "nlib/cmm/alert"; return "nlib/cmm/alert";
} }
// 등록된 ID가 있는 확인 // 등록된 ID가 있는 확인
@ -300,7 +300,7 @@ public class MemberController extends NlibCommonController{
if(oauthUser == null) if(oauthUser == null)
{ {
model.addAttribute("msg","SNS인증이 정상적이지않습니다. 다시 회원가입을 진행해주세요."); model.addAttribute("msg","SNS인증이 정상적이지않습니다. 다시 회원가입을 진행해주세요.");
model.addAttribute("url","${pageContext.request.contextPath}"+NlibProperty.getString("member.new.url")); model.addAttribute("url",NlibProperty.getString("member.new.url"));
return "nlib/cmm/alert"; return "nlib/cmm/alert";
} }
@ -346,7 +346,7 @@ public class MemberController extends NlibCommonController{
if(oauthUser == null) if(oauthUser == null)
{ {
model.addAttribute("msg","SNS인증이 정상적이지않습니다. 다시 회원가입을 진행해주세요."); model.addAttribute("msg","SNS인증이 정상적이지않습니다. 다시 회원가입을 진행해주세요.");
model.addAttribute("url","${pageContext.request.contextPath}"+NlibProperty.getString("member.new.url")); model.addAttribute("url",NlibProperty.getString("member.new.url"));
return "nlib/cmm/alert"; return "nlib/cmm/alert";
} }
@ -377,7 +377,7 @@ public class MemberController extends NlibCommonController{
if(oauthUser == null) if(oauthUser == null)
{ {
model.addAttribute("msg","SNS인증이 정상적이지않습니다. 다시 회원가입을 진행해주세요."); model.addAttribute("msg","SNS인증이 정상적이지않습니다. 다시 회원가입을 진행해주세요.");
model.addAttribute("url","${pageContext.request.contextPath}"+NlibProperty.getString("member.new.url")); model.addAttribute("url",NlibProperty.getString("member.new.url"));
return "nlib/cmm/alert"; return "nlib/cmm/alert";
} }
@ -397,36 +397,57 @@ public class MemberController extends NlibCommonController{
String councilHomeUrl=url.replaceAll(request.getRequestURI(), "") + request.getContextPath(); String councilHomeUrl=url.replaceAll(request.getRequestURI(), "") + request.getContextPath();
String jsessionId = session.getId(); String jsessionId = session.getId();
OAuthUniversalUser oauthUser = SessionConfig.popNewMemberInfo(jsessionId); OAuthUniversalUser oauthUser = SessionConfig.popNewMemberInfo(jsessionId);
if(oauthUser != null && oauthUser.getNlibVO() != null) if(oauthUser != null )
{ {
//핸드폰인증시 sns제공 번호와 회원가입폼 번호 비교 //핸드폰인증시 sns제공 번호와 회원가입폼 번호 비교
if(!(vo.getMobileNo().equals(oauthUser.getSnsMobileNo()))) if(!(vo.getMobileNo().equals(oauthUser.getSnsMobileNo())))
{ {
if(!(vo.getMobileVrfctNo().equals(oauthUser.getNlibVO().getMobileVrfctNo())) if(oauthUser.getNlibVO() == null)
{
model.addAttribute("msg","핸드폰인증이 정상적이지않습니다. 다시 회원가입을 진행해주세요.");
model.addAttribute("url",NlibProperty.getString("member.new.url"));
return "nlib/cmm/alert";
}
if( !(vo.getMobileVrfctNo().equals(oauthUser.getNlibVO().getMobileVrfctNo()))
||oauthUser.getNlibVO().getMobileVrfctDd() == null) ||oauthUser.getNlibVO().getMobileVrfctDd() == null)
{ {
model.addAttribute("msg","핸드폰인증이 정상적이지않습니다. 다시 회원가입을 진행해주세요."); model.addAttribute("msg","핸드폰인증이 정상적이지않습니다. 다시 회원가입을 진행해주세요.");
model.addAttribute("url","${pageContext.request.contextPath}"+NlibProperty.getString("member.new.url")); model.addAttribute("url",NlibProperty.getString("member.new.url"));
return "nlib/cmm/alert"; return "nlib/cmm/alert";
} }
} }
//이메일인증시 sns제공 이메일과 회원가입폼 이메일 비교 //이메일인증시 sns제공 이메일과 회원가입폼 이메일 비교
if(!(vo.getEmail().equals(oauthUser.getSnsUserId()))) if(!(vo.getEmail().equals(oauthUser.getSnsUserId())))
{ {
if(oauthUser.getNlibVO() == null)
{
model.addAttribute("msg","이메일인증이 정상적이지않습니다. 다시 회원가입을 진행해주세요.");
model.addAttribute("url",NlibProperty.getString("member.new.url"));
return "nlib/cmm/alert";
}
if(!(vo.getEmailVrfctNo().equals(oauthUser.getNlibVO().getEmailVrfctNo())) if(!(vo.getEmailVrfctNo().equals(oauthUser.getNlibVO().getEmailVrfctNo()))
||oauthUser.getNlibVO().getEmailVrfctDd() == null) ||oauthUser.getNlibVO().getEmailVrfctDd() == null)
{ {
model.addAttribute("msg","이메일인증이 정상적이지않습니다. 다시 회원가입을 진행해주세요."); model.addAttribute("msg","이메일인증이 정상적이지않습니다. 다시 회원가입을 진행해주세요.");
model.addAttribute("url","${pageContext.request.contextPath}"+NlibProperty.getString("member.new.url")); model.addAttribute("url",NlibProperty.getString("member.new.url"));
return "nlib/cmm/alert"; return "nlib/cmm/alert";
} }
} }
}else {
model.addAttribute("msg","잘못된 접근입니다. \\n장시간 대기로 다시 회원가입을 진행해주세요.");
model.addAttribute("url",NlibProperty.getString("member.new.url"));
return "nlib/cmm/alert";
} }
//문화원코드 //문화원코드
String councilNm = (String)session.getAttribute("councilNm"); String councilNm = (String)session.getAttribute("councilNm");
//클라이언트 IP주소 //클라이언트 IP주소
vo.setIp(getRemoteIP(request)); vo.setIp(getRemoteIP(request));
//초기비밀번호
String initPwd = memberService.createInitPwd();
vo.setPassword(initPwd);
//회원정보 insert //회원정보 insert
memberService.insertMemberInfo(vo); memberService.insertMemberInfo(vo);
@ -454,6 +475,7 @@ public class MemberController extends NlibCommonController{
replaceContents.put("${councilNm}", councilNm); replaceContents.put("${councilNm}", councilNm);
replaceContents.put("${hostName}", hostName); replaceContents.put("${hostName}", hostName);
replaceContents.put("${time}", time); replaceContents.put("${time}", time);
replaceContents.put("${password}", initPwd);
emailUtil.sendEmail(vo.getEmail(),senderName +" 회원가입을 축하드립니다.",replaceContents,signUpTemplate); emailUtil.sendEmail(vo.getEmail(),senderName +" 회원가입을 축하드립니다.",replaceContents,signUpTemplate);
return "redirect:" + redirectUrl; return "redirect:" + redirectUrl;
@ -475,7 +497,7 @@ public class MemberController extends NlibCommonController{
NlibLoginVO loginVO = getNlibLoginVO(authentication); NlibLoginVO loginVO = getNlibLoginVO(authentication);
if(loginVO == null) { if(loginVO == null) {
model.addAttribute("msg","잘못된 접근입니다. \n다시 로그인 하신 후, 이용해 주시기 바랍니다."); model.addAttribute("msg","잘못된 접근입니다. \n다시 로그인 하신 후, 이용해 주시기 바랍니다.");
model.addAttribute("url","${pageContext.request.contextPath}"+"/"); model.addAttribute("url","/");
return "nlib/cmm/alert"; return "nlib/cmm/alert";
} }
model.addAttribute("result",loginVO); model.addAttribute("result",loginVO);
@ -748,7 +770,7 @@ public class MemberController extends NlibCommonController{
NlibLoginVO loginVO = getNlibLoginVO(authentication); NlibLoginVO loginVO = getNlibLoginVO(authentication);
if(loginVO == null) { if(loginVO == null) {
model.addAttribute("msg","잘못된 접근입니다. \n장시간 대기로 다시 로그인 하신 후, 이용해 주시기 바랍니다."); model.addAttribute("msg","잘못된 접근입니다. \n장시간 대기로 다시 로그인 하신 후, 이용해 주시기 바랍니다.");
model.addAttribute("url","${pageContext.request.contextPath}"+"/"); model.addAttribute("url","/");
return "nlib/cmm/alert"; return "nlib/cmm/alert";
} }
loginVO.setJoinCouncilCd(getCurCouncilCd(request)); loginVO.setJoinCouncilCd(getCurCouncilCd(request));
@ -773,7 +795,7 @@ public class MemberController extends NlibCommonController{
if(loginVO == null) { if(loginVO == null) {
model.addAttribute("msg","잘못된 접근입니다. \\n장시간 대기로 다시 로그인 하신 후, 이용해 주시기 바랍니다."); model.addAttribute("msg","잘못된 접근입니다. \\n장시간 대기로 다시 로그인 하신 후, 이용해 주시기 바랍니다.");
model.addAttribute("url","${pageContext.request.contextPath}"+"/"); model.addAttribute("url","/");
return "nlib/cmm/alert"; return "nlib/cmm/alert";
} }

View File

@ -223,7 +223,7 @@ public class UserInfoController extends NlibCommonController {
if(loginVO == null) if(loginVO == null)
{ {
model.addAttribute("msg","잘못된 접근입니다. \\n장시간 대기로 다시 로그인 하신 후, 이용해 주시기 바랍니다."); model.addAttribute("msg","잘못된 접근입니다. \\n장시간 대기로 다시 로그인 하신 후, 이용해 주시기 바랍니다.");
model.addAttribute("url","${pageContext.request.contextPath}"+"/"); model.addAttribute("url","/");
return "nlib/cmm/alert"; return "nlib/cmm/alert";
} }

View File

@ -23,9 +23,18 @@
<!-- 회원가입 --> <!-- 회원가입 -->
<insert id="insertMemberInfo" parameterType="NlibLoginVO"> <insert id="insertMemberInfo" parameterType="NlibLoginVO">
<selectKey keyProperty="mbInfoId" resultType="String" order="BEFORE"> <selectKey keyProperty="mbInfoId,mbNo" resultType="hashmap" order="BEFORE">
SELECT CONCAT(LEFT(MAX(MB_INFO_ID),2), SELECT
LPAD(RIGHT(MAX(MB_INFO_ID),9)+1,9,0)) AS mbInfoId FROM MB_INFO; CONCAT(LEFT(MAX(MB_INFO_ID),2),LPAD(RIGHT(MAX(MB_INFO_ID),9)+1,9,0)) AS mbInfoId
,(
SELECT
CAST(MAX(MB_NO)+1 AS CHAR(6))
FROM
MB_INFO
WHERE MB_NO LIKE CONCAT(DATE_FORMAT(NOW(),'%y'),'%')
) AS mbNo
FROM
MB_INFO;
</selectKey> </selectKey>
INSERT INTO INSERT INTO
MB_INFO MB_INFO
@ -55,6 +64,7 @@
,INFO_RECV_SMS_YN ,INFO_RECV_SMS_YN
,MKT_RECV_EMAIL_YN ,MKT_RECV_EMAIL_YN
,MKT_RECV_SMS_YN ,MKT_RECV_SMS_YN
,MB_NO
) )
VALUES VALUES
( (
@ -83,6 +93,7 @@
,#{infoRecvSmsYn} ,#{infoRecvSmsYn}
,#{mktRecvEmailYn} ,#{mktRecvEmailYn}
,#{mktRecvSmsYn} ,#{mktRecvSmsYn}
,IFNULL(#{mbNo},CONCAT(DATE_FORMAT(NOW(),'%y'),'0001'))
) )
</insert> </insert>

View File

@ -96,7 +96,15 @@
UPDATE UPDATE
MB_SNS MB_SNS
SET SET
UNLINK_DD=NOW() UNLINK_DD = NOW()
,SNS_ID = '-'
,SNS_NAME = NULL
,SNS_NICK_NAME = NULL
,SNS_USER_ID = NULL
,SNS_GENDER = NULL
,SNS_BIRTHDAY = NULL
,SNS_EMAIL = NULL
,SNS_MOBILE_NO = NULL
WHERE 1=1 WHERE 1=1
<if test="mbSnsId != null"> <if test="mbSnsId != null">
AND MB_SNS_ID = #{mbSnsId}; AND MB_SNS_ID = #{mbSnsId};

View File

@ -49,7 +49,7 @@ function deleteMembership()
} }
else if(result=="delete") else if(result=="delete")
{ {
alert("탈퇴처리 되었습니다.감사합니다."); alert("탈퇴처리 되었습니다. 감사합니다.");
location.href="${pageContext.request.contextPath}/logout"; location.href="${pageContext.request.contextPath}/logout";
}else if(result=="mismatch") }else if(result=="mismatch")
{ {

View File

@ -37,12 +37,6 @@ $(document).ready(function() {
}); });
function signUp(){ function signUp(){
<%//패스워드 정규식 9자이상 소문자, 숫자 ,특수문자%>
var regExp = /^(?=.*[a-z])(?=.*\d)(?=.*[$@$!%*#?&])[A-Za-z\d$@$!%*#?&]{9,}$/i;
var p = document.getElementById('password');
var p_cf = document.getElementById('passwordConfirm');
var flag = false; var flag = false;
if($("#name").val() == "") if($("#name").val() == "")
@ -108,17 +102,6 @@ function signUp(){
alert("주소를 입력해주세요."); alert("주소를 입력해주세요.");
return false; return false;
} }
if(!regExp.test(p.value)){
p.focus();
alert("9자리 이상, 숫자/문자/특수문자를 혼합하여 입력해주세요.");
return false;
}
if(p.value != p_cf.value)
{
p_cf.focus();
alert("비밀번호가 일치하지 않습니다. 확인해 주세요.");
return false;
}
if($("#service-chk1").is(":checked") == false) if($("#service-chk1").is(":checked") == false)
{ {
$("#service-chk1").focus(); $("#service-chk1").focus();
@ -236,19 +219,6 @@ $(document).ready(function() {
$("#emailCertSendBtn").attr("disabled", false); $("#emailCertSendBtn").attr("disabled", false);
} }
}); });
<%
//비밀번호가 변하는것 실시간 감지
%>
$("#password,#passwordConfirm").on("propertychange change keyup paste input", function() {
if($("#password").val() == $("#passwordConfirm").val())
{
$("#pwdSuc").css("display","inline-block");
$("#pwdFail").css("display","none");
}else{
$("#pwdSuc").css("display","none");
$("#pwdFail").css("display","inline-block");
}
});
}) })
<% <%
@ -678,18 +648,6 @@ function fn_cancel(){
</div> </div>
</div> </div>
<div class="form-group Password">
<label for="password">비밀번호</label>
<div class="con">
<input class="form-control" type="password" id="password" name="password" placeholder="비밀번호" />
<span>9자리 이상, 숫자/문자/특수문자를 혼합하여 입력</span>
<label for="passwordConfirm" class="blind">비밀번호 확인</label><input class="form-control" type="password" id="passwordConfirm" name="passwordConfirm" placeholder="비밀번호 확인" />
<span class="suc" id="pwdSuc">일치합니다.</span>
<span class="fail" id="pwdFail">일치하지 않습니다.</span>
<span class="text">- 입력하신 비밀번호는 ‘계정 연결’, ‘내 정보 확인’, ‘회원탈퇴’ 시, 회원님의 정보보호 및 본인확인을 위해 사용됩니다.</span>
</div>
</div>
<h2>서비스 알림 수신 동의</h2> <h2>서비스 알림 수신 동의</h2>
<div class="form-group service"> <div class="form-group service">