Berry-G / YoungCultureCenter

TEAM Young'tve jobs HOMEPAGE making project
0 stars 2 forks source link

Spring Security PW찾기 #122

Closed asel0joo closed 1 year ago

asel0joo commented 1 year ago

: DB에 있는 user_id와 user_name을 찾아 user_email을 반환 → 해당 user_email로 임시비밀번호 발송 → 임시비밀번호 암호화 → DB에 업로드

<div class="modal fade" id="exampleModal2" tabindex="-1" aria-labelledby="exampleModalLabel2" aria-hidden="true">
  <div class="modal-dialog modal-dialog-centered">
    <div class="modal-content">
      <div class="modal-header">
        <h1 class="modal-title fs-5" id="exampleModalLabel2">Modal title</h1>
        <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
      </div>
      <div class="modal-body text-center">
        <p>재설정된 비밀번호가 <b class="fs-5">e-mail로 전송</b>되었습니다.</p>
        <p>로그인 후 비밀번호를 변경해주세요.</p>
      </div>
      <div class="modal-footer">
        <button type="button" class="btn btn-secondary" data-bs-dismiss="modal">닫기</button>
        <a href="/ycc/login" type="button" class="btn btn-primary">로그인하기</a>
      </div>
    </div>
  </div>
</div>

1. **user_name과 user_id를 받아 user_email을 반환함**
- forget.jsp
```jsx
<script>
//패스워드 찾기(모달창에 정보 띄우기)
    $("#findPw").click(function() {
        var csrfHeaderName = "${_csrf.headerName}";
        var csrfTokenValue= "${_csrf.token}";
        let a = document.getElementById("user_id").value;
        let b = document.getElementById("user_name_pw").value;
        //아이디 찾기 이메일 데이터 넘기기  
        $.ajax({
          beforeSend: function(xhr){
          xhr.setRequestHeader(csrfHeaderName, csrfTokenValue);},
          type: 'POST',
          url: '/ycc/mypage/findPw',
          headers : { "content-type" : "application/json" },
          data: JSON.stringify({user_id:a, user_name:b}), 
          dataType: 'text',
          success: function(user_email) {
              //alert(b)
              $.ajax({
                  beforeSend: function(xhr){
                  xhr.setRequestHeader(csrfHeaderName, csrfTokenValue);},
                  type: 'post',
                  url: '/ycc/signin/pwEmail',
                  headers : { "content-type" : "application/json" },
                  data: JSON.stringify({user_email:user_email}), 
                  dataType: 'text',
                  success: function(user_email) {

                  },
                  error: function(){
                    alert ("정보를 다시 확인해주세요(1).")
                  }

                 })
          },
          error: function(){
            alert ("정보를 다시 확인해주세요(2).")
          }

         })
      })
</script>
  1. select 해 온 user_email을 통해 user_pw를 업로드 해 줄 예정 1) 임시 비밀번호 발급 → 임시 비밀번호 이메일 발송 → 임시 비밀번호 암호화 → DB 업로드

    • forget.jsp

      <script>
      //패스워드 찾기(모달창에 정보 띄우기)
      $("#findPw").click(function() {
      var csrfHeaderName = "${_csrf.headerName}";
      var csrfTokenValue= "${_csrf.token}";
      let a = document.getElementById("user_id").value;
      let b = document.getElementById("user_name_pw").value;
      //alert("모달창 진입") 
      //아이디 찾기 이메일 데이터 넘기기  
      $.ajax({
        beforeSend: function(xhr){
        xhr.setRequestHeader(csrfHeaderName, csrfTokenValue);},
        type: 'POST',
        url: '/ycc/mypage/findPw',
        headers : { "content-type" : "application/json" },
        data: JSON.stringify({user_id:a, user_name:b}), 
        dataType: 'text',
        success: function(user_email) {
            $.ajax({
                    beforeSend: function(xhr){
                    xhr.setRequestHeader(csrfHeaderName, csrfTokenValue);},
                type: 'post',
                url: '/ycc/signin/pwEmail',
                headers : { "content-type" : "application/json" },
                data: JSON.stringify({user_email:user_email}), 
                dataType: 'text',
                success: function(user_email) {
      
                },
                error: function(){
                  alert ("정보를 다시 확인해주세요(1).")
                }
      
               })
        },
        error: function(){
          alert ("정보를 다시 확인해주세요(2).")
        }
      
       })
      })
      </script>

임시 비밀번호 발급, 비밀번호 암호화, DB 업로드 완료!