회원탈퇴시 연체나 대출중 자료있으면 탈퇴못하게 수정 , 비밀번호 초기화로직 수정

This commit is contained in:
JSYOO 2021-12-06 11:43:45 +09:00
parent 6dde7e13c2
commit 6c673ddcb7
3 changed files with 28 additions and 15 deletions

View File

@ -120,6 +120,7 @@ public class MemberServiceImpl implements MemberService
* 초기화 비밀번호 랜덤생성
*/
public String createInitPwd() {
SecureRandom rand = new SecureRandom();
// 비밀번호 자리수
int pwLength=8;
@ -157,11 +158,11 @@ public class MemberServiceImpl implements MemberService
boolean whileFlag = true;
do {
int loopNum=(int)(inner_random() * 4);
int loopNum=(int)(rand.nextDouble() * 4);
// 대문자생성
if((whileFlag && upperStr.equals("1")) || (!whileFlag && useU == 1 && loopNum == 0)){
do {
upperChar = (char)(inner_random() * 26 + 65);
upperChar = (char)(rand.nextDouble() * 26 + 65);
upperStr=String.valueOf(upperChar);
} while (exceptionKey.indexOf(upperStr)!=-1);
dummylist.add(upperStr);
@ -171,7 +172,7 @@ public class MemberServiceImpl implements MemberService
// 소문자생성
if((whileFlag && lowerStr.equals("1")) || (!whileFlag && useL == 1 && loopNum == 1)){
do {
lowerChar = (char)(inner_random() * 26 + 97);
lowerChar = (char)(rand.nextDouble() * 26 + 97);
lowerStr=String.valueOf(lowerChar);
} while (exceptionKey.indexOf(lowerStr)!=-1);
dummylist.add(lowerStr);
@ -180,7 +181,7 @@ public class MemberServiceImpl implements MemberService
// 숫자생성(숫자 0,1 제외)
if((whileFlag && ranNumberStr.equals("1")) || (!whileFlag && useN == 1 && loopNum == 2)){
ranNumber=(int)(inner_random() * 8 + 2);
ranNumber=(int)(rand.nextDouble() * 8 + 2);
ranNumberStr=String.valueOf(ranNumber);
dummylist.add(ranNumberStr);
whileNum++;
@ -188,7 +189,7 @@ public class MemberServiceImpl implements MemberService
// 특수문자생성
if((whileFlag && ranSkeyStr.equals("1")) || (!whileFlag && useS == 1 && loopNum == 3)){
startSkey=(int)(inner_random() * (specialKey.length()-1))+1;
startSkey=(int)(Math.random() * (specialKey.length()-1))+1;
ranSkey=specialKey.charAt(startSkey);
ranSkeyStr=String.valueOf(ranSkey);
dummylist.add(ranSkeyStr);
@ -204,12 +205,6 @@ public class MemberServiceImpl implements MemberService
return dummyPW;
}
public double inner_random() {
long seed= new Date().getTime();
seed = (seed*9301 +49297) % 233280;
return seed/(233280.0);
}
public NlibLoginVO selectAlreadySignUpId(OAuthUniversalUser oauthUser) throws Exception {
//이메일 암호화
oauthUser.setSnsEmail(ariaCrypto.encode(oauthUser.getSnsUserId()));

View File

@ -23,6 +23,7 @@ import javax.servlet.http.HttpSession;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.security.access.annotation.Secured;
import org.springframework.security.core.Authentication;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
@ -40,6 +41,7 @@ import nlib.cmm.NlibCommonController;
import nlib.cmm.crypto.AriaCrypto;
import nlib.cmm.service.NlibProperty;
import nlib.cmm.session.SessionConfig;
import nlib.col.service.RentService;
import nlib.info.service.InformService;
import nlib.mail.EmailSender;
import nlib.mail.service.EmailVO;
@ -95,6 +97,9 @@ public class MemberController extends NlibCommonController{
@Resource(name="userInfoService")
private UserInfoService userInfoService;
@Resource(name = "rentService")
private RentService rentService;
@Resource(name="memberService")
private MemberService memberService;
@ -736,6 +741,7 @@ public class MemberController extends NlibCommonController{
* 회원탈퇴
* @exception Exception
*/
@Secured("ROLE_USER")
@RequestMapping(value="/member/deleteMembershipForm.do")
public String deleteMembershipForm(HttpServletResponse response,Authentication authentication,HttpServletRequest request,ModelMap model) throws Exception{
//사용자 정보를 가져온다.
@ -763,19 +769,27 @@ public class MemberController extends NlibCommonController{
public @ResponseBody String deleteMembership(Authentication authentication,HttpServletResponse response,HttpServletRequest request,ModelMap model) throws Exception{
//사용자 정보를 가져온다.
NlibLoginVO loginVO = getNlibLoginVO(authentication);
String message="";
if(loginVO == null) {
model.addAttribute("msg","잘못된 접근입니다. \\n장시간 대기로 다시 로그인 하신 후, 이용해 주시기 바랍니다.");
model.addAttribute("url","${pageContext.request.contextPath}"+"/");
return "nlib/cmm/alert";
}
// 대출/방문열람 현황
Map<String, String> rentStats = rentService.getRentStats(loginVO.getMbInfoId());
model.addAttribute("rentStats", rentStats);
if(Integer.parseInt(rentStats.get("lentCnt")) > 0 || Integer.parseInt(rentStats.get("lentOverCnt")) > 0) {
return message = "nonReturn";
}
loginVO.setJoinCouncilCd(getCurCouncilCd(request));
loginVO = loginService.selectLoginUserInfo(loginVO);
String password = egovPasswordEncoder.encryptPassword(loginVO.getLoginUserId()+request.getParameter("password").trim());
String message="";
if(loginVO != null && (loginVO.getPassword().equals(password)))
{
//회원탈퇴

View File

@ -43,7 +43,11 @@ function deleteMembership()
async: false,
data : {password:$("#password").val()},
success : function(result){
if(result=="delete")
if(result=="nonReturn")
{
alert("대출중이거나 연체된 자료가 있어 회원탈퇴처리가 불가능합니다.");
}
else if(result=="delete")
{
alert("탈퇴처리 되었습니다.감사합니다.");
location.href="${pageContext.request.contextPath}/logout";