20221118(금)
- 목차
- 회원정보 저장
- 비밀번호 암호화
- 로그인
- 로그아웃
< 회원정보 저장 >
1. MemberMapper.java & MmeberMapper.xml
2. MemberService.java & MemberServiceImpl.java
3. MemberController.java에 회원정보 저장 코드추가
< 비밀번호 암호화 >
- 스프링 시큐리티 : 스프링 보안 프레임워크
1. pom.xml에 스프링시큐리티 라이브러리 코드 추가
이 라이브러리에서 제공되는 클래스들을 bean으로 설정한다. (root-context.xml에서)
<!--스프링시큐리티 web 라이브러리-->
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-web</artifactId>
<version>4.1.0.RELEASE</version>
</dependency>
<!--스프링시큐리티 core 라이브러리-->
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-core</artifactId>
<version>4.1.0.RELEASE</version>
</dependency>
<!--스프링시큐리티 config 라이브러리-->
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-config</artifactId>
<version>4.1.0.RELEASE</version>
</dependency>
2. sprint-security.xml 파일 생성
root-context.xml 안의 코드가 복잡해질 수 있으니 따로 빼서 파일생성
- 빈 클래스 주소 받기(코드는 받음)
** id 설정은 보통 빈 클래스 맨 마지막 단어에서 맨 앞글자만 소문자로 바꾼 후 진행
✨ root-context.xml과 servlet-context.xml 설정은 모두 web.xml에 있다.
- web.xml에 spring-security.xml도 설정해주자.
3. MemberController.java에서 주입작업 코드추가 & 암호화 코드추가
**평문텍스트 비밀번호 varchar2(15)
비밀번호를 똑같이 1234로 해도 암호화된 방식이 다르다!!
ex) 같은 비밀번호로 2번 회원가입했을 경우 나타나는 pw 내용
< 로그인 폼 생성 및 인증 기능 구현 >
1. MemberController.java 아래에 코드 추가
2. join.jsp 파일 복사 후 login.jsp 생성하기
3. login.jsp 에 로그인 양식 코드추가
- 회원가입 양식 날리고 로그인 양식 넣기
- 코드는 docmall login.jsp 에서 가져옴
ex) 실행화면
4. LoginDTO.java 생성
5. MemeberController.java 로그인 인증
6. MemberMapper.java & MemberMapper.xml
7. MemberService.java & MemberServiceImpl.java
8. MemberController.java 로그인인증 코드추가(아래 전부)
matches(사용자가 입력한 비밀번호가, db에서 가져온 암호화된 비밀번호와)일치할 경우 true
9. login.jsp에 코드추가
10. index.jsp에도 코드 추가
11. header.jsp에 주소 추가
ex) 실행화면
로그인되었다면 바로 메인화면으로 돌아간다.
< 로그아웃 코드 추가 > - MemberController.java 에만 추가!
1. MemberController.java
ex) 실행화면
'🏫 Open API_JAVA' 카테고리의 다른 글
[83일차] 메일링 폴더 생성 / 구역별 JSP 나누기 / 관리자 (로그인) (0) | 2022.11.22 |
---|---|
[82일차-2] 아이디 & 비번찾기 / 비번찾기 : 임시비밀번호 발급 (0) | 2022.11.21 |
[81일차] 회원가입 페이지 폼 / 추가 작업 / daum 우편번호 api 삽입 / ID 중복체크 / 이메일 인증 (0) | 2022.11.18 |
[80일차] 게시판 댓글 수정 및 삭제 구현 (0) | 2022.11.17 |
[79일차] 게시판 댓글 목록 / 페이징 / 모달창 구현 / jQuery 눈도장 (0) | 2022.11.17 |