위는 내정보 수정하는 창이다 (위에 보이는 버튼을 누르면 밑의 컨트롤러로 이동)
먼저 현제 로그인한 사용자의 객체 가져오는데 왜 가져오냐하면 변경된 정보가 있으면 변경된 정보를 해당 객체에 넣은뒤 다시 DB에 넣어줄 예정이다.
uploadDir은 프로젝트내에 사용자가 선택한 이미지를 저장할 경로이다.
fileName은 사용자가 선택한 파일의 이름이다.
filePath = uploadDir + fileName
나는 사진을 프로젝트에 넣은뒤 사용자 정보 DB에 해당사진의 프로젝트 내 링크를 가르키는 식으로 설계를 했다. 위 사진을 보면 사진 링크 및 닉네임, 아이디, 이메일 등등을 객체에 넣은뒤 다시 DB에 넣어준다. 만약 변경된 정보가 있다면 업데이트 되겠지.
그리고 시큐리티가 가지고 있는 인증정보를 제거하고 세션도 제거한다. 변경된 정보를 반영하려면 이게 제일 확실한 것 같다.
내정보 수정창에서 비밀번호를 변경하려면 여길 클릭 이라는 링크를 클릭하면 변경창으로 넘어간다.
그리고 비밀번호 변경 버튼을 누르면 아래 컨트롤러로 이동한다.
변경할 비밀번호 두개(하나는 확인용) 이다르면 바로 컷되게하고 메인페이지로 리다이렉트 시켰다.
위 빨간줄로 그어놓은 함수는 첫번째 매개변수를 해쉬화해 이미 해쉬화 되어있는 DB의 암호화 비교하는 함수이다 DB의 함수들은 해쉬함수로 안호화 되어있기때문에 바로 비교하면 안된다.