팀프로젝트 58

JAVA 팀플) 20240116_회원가입 구현, 전체 비밀번호 찾기 구현

이 날은 그동안 미구현되었던 회원가입, 전체 비밀번호 찾기 기능을 구현했다. 우선 유저 타입은 2가지 타입으로 분리해서 관리자와 일반 유저를 구분했다. CREATE TABLE memberDB ( userId VARCHAR2(20) PRIMARY KEY, userPw VARCHAR2(50) NOT NULL CHECK (LENGTH(userPw) >= 4), userName VARCHAR2(20) NOT NULL CHECK (LENGTH(userName) >= 2), userSSN1 NUMBER(6, 0) NOT NULL CHECK (LENGTH(userSSN1) = 6), userSSN2 NUMBER(7, 0) NOT NULL CHECK (LENGTH(userSSN2) = 7 AND SUBSTR(userS..

스프링 부트 팀플) 20240310_암호화/복호화 적용

사람이 습관이라는게 참 무섭다. 항상 기록하면서 하지 않다 버릇하니까 싹 다 고치고 이제서야 포스팅 시작했다... 고친 곳은 크게 6군데 1. 로그인 시 비밀번호를 암호화해서 넘겨주기 2. 로그인 시 입력한 비밀번호를 암호화해서 DB의 비밀번호와 비교하는 Ajax 설정하기 3. 비밀번호 찾기에서 암호화된 비밀번호를 복호화해서 보여주기 4. 전체 비밀번호 찾기에서 복호화된 암호를 메일로 보내주기 5. 회원가입에서 입력한 암호를 암호화해서 저장하기 6. 디버그 모드에서 암호화된 유저 비밀번호를 복호화해서 확인할 수 있도록 만들기 우선 1. 로그인 시 비밀번호를 암호화해서 넘겨주기 //메인에서 로그인 여부 확인 에이젝스 @RequestMapping(value = "AjaxCheckIrDPW", method =..

스프링 부트 팀플) 20240310_이메일 인증 구현

우선 컨트롤러에 다 때려박았던 코드를 서비스로 분산했다. 이메일 인증 시스템을 위해서는 크게 6가지 작업이 필요하다. 1. 6자리 랜덤 정수를 만드는 함수 2. 그 6자리 정수를 3분만 유효한 쿠키 만들기 3. 회원가입 페이지에 다시 들어오면 2번에서 만든 쿠키를 Reset하는 함수 4. 1번에서 만든 함수를 이메일로 보내는 양식 만들기 5. 사용자가 이메일로 받은 인증번호를 입력하면 쿠키와 비교해서 결과값을 출력하는 Ajax 만들기 6. 만든 내용을 jsp와 연동하기 // 임의의 6자리 양수를 반환 public String makeRandomNumber() { Random r = new Random(); String randomNumber = ""; for (int i = 0; i < 6; i++) {..

스프링 부트 팀플) 20240310_이메일 시스템 구축

자고 일어나자 마자 암호화/복호화 시스템 한번 보고 이메일 시스템 구축에 들어갔다. 암호화 자체는 잘 되지만, 어제랑 달리 암호가 어째서인지 바뀌진 않는다. 안 되는 건 아니지만, 뭔가 짜게 식은 느낌. 아무튼 메일 시스템 구축에 들어갔다. https://kimvampa.tistory.com/93 [Spring]메일서버(SMTP Server)를 이용한 메일 전송 2 개인 공부 후 자료를 남기기 위한 목적이기에 내용 상에 오류가 있을 수 있습니다. 목표 1. 스프링에서 SMTP 서버를 이용한 메일 전송을 할 수 있습니다. 2. 1의 목표 기능을 구현하기 위해 구글, 네 kimvampa.tistory.com https://wiki.yowu.dev/ko/Knowledge-base/Spring-Boot/Lear..

스프링 부트 팀플) 20240309_암호화와 복호화

오늘 이전 작업 올리고 6시간이 흘렀다... 그동안 암호화와 복호화만 열심히 했다... 원래는 스프링 세큐리티를 사용한 암호화/복호화를 해보려고 했었다. https://hou27.tistory.com/entry/Spring-Boot-Spring-Security-%EC%A0%81%EC%9A%A9%ED%95%98%EA%B8%B0-%EC%95%94%ED%98%B8%ED%99%94 [Spring Boot] Spring Security 적용하기 - 암호화 프로젝트를 진행하면서 사용자 시스템을 구축한다면 필연적으로 인증 로직도 구현해야한다. 이 과정에서 만약 사용자의 비밀번호를 평문(Plain Text)으로 저장한다면, 심각한 보안상 문제를 초래 hou27.tistory.com https://goddaehee.ti..

스프링 부트 팀플) 20240309_전환 시작

스프링 팀플이 끝나고, 스프링부트로 전환해야 될 때가 왔다. 스프링에서 쓰던 컨트롤러 복붙~ 보니까 대부분의 에러는 패키지 경로가 바뀌어서 생긴 오류였다. 일단 com.OOO이 필요하다 보니 패키지 경로를 싹 고친다. 생각해보니 서비스랑 DTO 경로도 고쳐야 한다. 어이쿠 아직 에러가 있지만, 한번 실행시켜 보기로 했다. 그래도 에러 터지는 거 보면서 고쳐야 고치는 맛이 있지 실행조차 되지 않았다. 대충 컨트롤러가 에러나니까 고치라는 소리다. 외부 API 쓰는 친구들이 다 터지고 있었다. 메일 시스템과 암호화 시스템이다... 일단 주석 처리하고 실행해보기로 했다. 그런데 거미줄 마냥 얽혀 있어 이것도 쉽지 않다. 이제 다시 실행시켜 보자 생각해보니 스프링 때 몇몇 경로는 servlet-context.xm..

팀플_20240115

LoginForm_Active(Starting Point) 세션 연결 확인 및 로그인 페이지(loginForm.html) 작동 로그인 페이지(loginForm.html) -로그인: 서블릿(LoginFormController) – 성공페이지(loginSuccess.jsp) / 실패ajax 출력) -아이디 찾기(find_Id.jsp) -비밀번호 찾기(find_Password.jsp) -회원가입(register_Term.jsp) -디버그용 회원 리스트 확인(memberListServlet  list_for_test.jsp)’ 아이디 찾기(find_Id.jsp) -로그인 페이지(loginForm.html) -비밀번호 찾기(find_Password.jsp) -회원가입(register_Term.jsp) -SSN1..

팀플 기록_20240114

기존에 기록했던 걸...다시 정리해보기로 했다... 기존에 다른 블로그에 적었던 것은 욕이 너무 많아서 옛날 기억을 살리면서 다시 써야지. 백업을 하다말다 했더니 백업 기록이 그렇게 많지는 않더라 처음에 만들었던 SQL CREATE TABLE memberDB ( userId VARCHAR2(20) PRIMARY KEY, userPw VARCHAR2(50) NOT NULL CHECK (LENGTH(userPw) >= 4), userName VARCHAR2(20) NOT NULL CHECK (LENGTH(userName) >= 2), userSSN1 NUMBER(6, 0) NOT NULL CHECK (LENGTH(userSSN1) = 6), userSSN2 NUMBER(7, 0) NOT NULL CHECK ..