비즈니스 규칙

일반 회원, 기업 회원, 업무담당자 세 개의 사용자 구분에 따라 아이디, 이름, 이메일, 비밀번호 힌트, 비밀번호 정답 정보를 갖고 임시 비밀번호를 메일발송 처리할 수 있다.

관련코드

jsp
1. 사용자 업무구분
<tr>
  <td><input name="rdoSlctUsr" type=radio value=radio checked onClick="fnCheckUsrId('GNR');">일반</td>
  <td><input name="rdoSlctUsr" type=radio value=radio unchecked onClick="fnCheckUsrId('ENT');">기업</td>
  <td><input name="rdoSlctUsr" type=radio value=radio unchecked onClick="fnCheckUsrId('USR');">업무</td>
</tr>
 
2. 비밀번호 힌트 공통코드를 조회하여 콤보박스 형태로 선택
<select name="passwordHint">
  <option selected value=''>--선택하세요--</option>
  <c:forEach var="result" items="${pwhtCdList}" varStatus="status">
  <option value='<c:out value="${result.code}"/>'><c:out value="${result.codeNm}"/></option>
  </c:forEach>
</select>
controller
1. 비밀번호 힌트 공통코드 조회
ComDefaultCodeVO vo = new ComDefaultCodeVO();
vo.setCodeId("COM022");
List code = cmmUseService.selectCmmCodeDetail(vo);
model.addAttribute("pwhtCdList", code);
 
2. 비밀번호 찾기
boolean result = loginService.searchPassword(loginVO);

컨트롤러 클래스에서 비밀번호 힌트 공통코드 목록을 조회하여 화면에 보여준다.
입력받은 아이디, 이름, 이메일, 비밀번호 힌트, 비밀번호 정답 정보를 갖고 임시 비밀번호를 메일 발송한다.

service
1. 아이디, 이름, 이메일주소, 비밀번호 힌트, 비밀번호 정답이 DB와 일치하는 사용자 Password를 조회한다.
LoginVO loginVO = loginDAO.searchPassword(vo);
 
2. 임시 비밀번호를 생성한다.(+++++=6자리)
String newpassword = "";
for (int i = 1; i <= 6; i++) {
	// 영자
	if (i % 3 != 0) {
		newpassword += EgovStringUtil.getRandomStr('a', 'z');
	// 숫자
	} else {
		newpassword += EgovNumberUtil.getRandomNum(0, 9);
	}
}
 
3. 임시 비밀번호를 암호화하여 DB에 저장한다.
LoginVO pwVO = new LoginVO();
String enpassword = EgovFileScrty.encryptPassword(newpassword);
pwVO.setId(vo.getId());
pwVO.setPassword(enpassword);
pwVO.setUserSe(vo.getUserSe());
loginDAO.updatePassword(pwVO);
 
4. 임시 비밀번호를 이메일 발송한다.
SndngMailVO sndngMailVO = new SndngMailVO();
sndngMailVO.setDsptchPerson("webmaster");
sndngMailVO.setRecptnPerson(vo.getEmail());
sndngMailVO.setSj("[MOPAS] 임시 비밀번호를 발송했습니다.");
sndngMailVO.setEmailCn("고객님의 임시 비밀번호는 " + newpassword + " 입니다.");
sndngMailVO.setAtchFileId("");

서비스 구현 클래스에서 입력받은 아이디, 이름, 이메일, 비밀번호 힌트, 비밀번호 정답 정보를 갖고 사용자 정보를 조회한다.
영어, 숫자 혼용 6자리 임시 비밀번호를 생성하여 암호화한 뒤, 데이터베이스에 비밀번호를 수정한다.
임시 비밀번호를 요소기술 중 발송요청메일 등록 기능을 사용하여 전송한다.
비밀번호 이메일 발송은 전자우편연계 기능을 참조한다.

관련화면 및 수행매뉴얼

2. 비밀번호 찾기
ActionURLController methodQueryID
비밀번호조회/uat/uia/searchPassword.dosearchPasswordloginDAO.searchPassword
비밀번호힌트조회/uat/uia/egovIdPasswordSearch.doidPasswordSearchView

아이디, 이름, 이메일, 비밀번호 힌트, 비밀번호 정답 정보를 갖고 사용자 정보를 조회하고 임시 비밀번호를 메일 발송한다.

업무구분 선택: 사용자 업무구분을 선택한다.
아이디 입력: 아이디를 입력한다.
이름 입력: 이름을 입력한다.
이메일 입력: 이메일을 입력한다.
비밀번호힌트 선택: 회원가입시 등록한 비밀번호 힌트를 선택한다.
비밀번호정답 입력: 비밀번호힌트에 대한 정답을 입력한다.
비밀번호 찾기: 업무구분, 아이디, 이름, 이메일, 비밀번호 힌트, 비밀번호 정답를 통해 사용자 임시 비밀번호를 생성하고 메일 발송한다.


 
egovframework/비밀번호_찾기.txt · 마지막 수정: 2023/12/21 05:21 (외부 편집기)
 
이 위키의 내용은 다음의 라이센스에 따릅니다 :CC Attribution-Noncommercial-Share Alike 3.0 Unported
전자정부 표준프레임워크 라이센스(바로가기)

전자정부 표준프레임워크 활용의 안정성 보장을 위해 위험성을 지속적으로 모니터링하고 있으나, 오픈소스의 특성상 문제가 발생할 수 있습니다.
전자정부 표준프레임워크는 Apache 2.0 라이선스를 따르고 있는 오픈소스 프로그램입니다. Apache 2.0 라이선스에 따라 표준프레임워크를 활용하여 발생된 업무중단, 컴퓨터 고장 또는 오동작으로 인한 손해 등에 대해서 책임이 없습니다.
Recent changes RSS feed CC Attribution-Noncommercial-Share Alike 3.0 Unported Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki