Spring Boot 개인 프로젝트/회원관리 REST-API서버 구축
(8) Postman을 사용하여 자동로그인 구현 테스트 해보기
Postman을 사용해 REST API를 테스트 할수있는 환경을 구축하는 방법은 Spring설정 카테고리에 작성돼있습니다 링크: (Spring)Postman를 사용해서 구축한 REST API가 정상작동하는지 테스트 하는법 (tistory.com) (Spring)Postman를 사용해서 Spring으로 구축한 REST API가 정상작동하는지 테스트 하는 방법 1.아래 사이트에 접속 후 Postman다운로드 해줍니다. Download Postman | Get Started for Free Download Postman | Get Started for Free Try Postman for free! Join 17 million developers who rely on Postman.. kdyspring.tis..
(7 - 5)(자동로그인 구현) UserController 클래스에서 /loginCheck 와 /logout 매핑에 자동로그인 처리를 위한 코드추가
#UserController.java ->자동로그인(loginCookie) 만료시간은 3개월뒤로 설정하였습니다 //로그인구현 @PostMapping("/loginCheck") public String login(@RequestBody UserVO input , HttpSession session ,HttpServletResponse response) { BCryptPasswordEncoder encode = new BCryptPasswordEncoder(); System.out.println(input); String result = null; UserVO db = service.getUser(input.getId()); if(db != null) { if(encode.matches(input.getPa..
(7 - 4)(자동로그인 구현) ILoginService인터페이스와 LoginService클래스에 코드 추가
#ILoginService.java 1 2 3 4 5 //특정 회원의 세션아이디와 쿠키 유효기간을 저장 void autoLogin(String sessionId,Date limitDate,String id); //세션아이디로 회원조회 UserVO selectSession(String sessionId); cs #LoginService.java -> UserController에서 받은 세션 아이디값과 자동로그인 만료시간 그리고 회원의 아이디값을 받은 뒤 Map컬렉션을 사용해 데이터들을 묶어준다음 mapper에게 전달해줍니다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 @Override public void autoLogin(String sessionId,Date lim..
(7 - 4)(자동로그인 구현) IUserMapper인터페이스와 UserMapper.xml 파일에 코드 추가
# IUserMapper.java ->autoLogin 메서드에서 매개 값을 UserVO로 받지않고 Map으로 받는 이유는 사용자가 직접 세션 아이디값과 자동로그인 만료날짜를 보내주는 것이 아니기때문에 UserVO에는 sessionId값과 limitDate값이 들어있지 않을것입니다. 그렇기 때문에 개발자가 직접 두 값과 로그인한 회원의 아이디값을 LoginService에게 보내주어 map으로 묶어준뒤 mapper에게 전달해줘야 합니다. 1 2 3 4 5 6 //특정 회원의 세션아이디와 쿠키 유효기간을 저장 void autoLogin(Map map); //세션아이디로 회원조회 UserVO selectSession(String sessionId); Colored by Color Scripter cs #Use..
(7 - 3)(자동로그인 구현) UserVO클래스에 sessionId,limitDate ,autoLogin 필드 추가하기
login_user테이블에 session_id 와 limit_date컬럼을 추가하여 주었으므로 UserVO클래스에도 똑같이 필드를 추가하여 줍니다. 그리고 autoLogin은 사용자가 로그인을 할때 자동로그인 체크박스를 클릭했는지 안했는지에 대한 논리값입니다. #UsereVO.java package com.example.login.vo; import java.util.Date; public class UserVO { private String id; private String password; private String name; private Date joinDate; private boolean autoLogin; private String sessionId; private Date limitDate..
(7 - 2)(자동로그인 구현) login_user테이블에 session_id와 limit_date컬럼추가
1. 자동로그인을 클릭한 사용자의 세션아이디와 자동로그인 만료 날짜를 저장하기위해서 login_user테이블에 session_id 와 limit_date 컬럼을 추가하여 줍니다. 1 2 alter table login_user add column session_id varchar(100) not null default "none"; alter table login_user add column limit_date timestamp; cs 2.컬럼추가를 완료한 후 테이블 조회(select) 명령를 통해 컬럼이 정상적으로 추가되었는지 확인해봅니다. 1 2 3 select * from login_user; cs 3.정상적으로 컬럼이 추가된것을 확인할 수 있습니다.
(7 - 1)(자동로그인 구현) 자동로그인 로직과 동작 과정
자동로그인 기능을 구현하기전 먼저 자동로그인의 동작 과정을 사용자입장 과 개발자입장으로 나눠 설명드리겠습니다 1. 프론트 입장에서의 자동로그인 (1) 사용자가 아이디와 패스워드를 입력한뒤 자동로그 체크박스를 체크하거나 체크하지 않은 상태로 로그인 합니다. 자동 로그인을 체크하고 로그인 하는경우 -> 사용자가 브라우저를 끄고 다시 페이지에 접속하더라도 로그인 상태가 일정 시간동안 유지되어야 합니다. 자동 로그인을 체크하지않고 로그인 하는경우 ->사용자가 브라우저를 끄고 다시 페이지에 접속하면 로그인 상태가 해제되고 다시 로그인을 해야합니다. 2. 백엔드 입장에서의 자동로그인(자동로그인 동작 과정) (1) 사용자가 입력한 아이디(문자) 와 비밀번호(문자) 그리고 체크박스 선택논리값(boolean)을 객체를 ..
(6) 지금까지 구축한 REST API가 잘 작동하는지 Postman을 사용하여 테스트 해보기
자 그럼 지금까지 Spring Boot로 구축한 REST API서버가 정상작동되는지 테스트를 해보도록 하겠습니다. Postman을 사용해 구축한 REST API 서버를 테스트 할 수 있는 환경을 구축하는 방법은 아래 링크에 작성되어 있습니다. 링크: (Spring)Postman를 사용해서 구축한 REST API가 정상작동하는지 테스트 하는법 (tistory.com) (Spring)Postman를 사용해서 구축한 REST API가 정상작동하는지 테스트 하는법 1.아래 사이트에 접속 후 Postman다운로드 Download Postman | Get Started for Free Download Postman | Get Started for Free Try Postman for free! Join 17 mil..
(5) REST API 구축
->Spring Security이용해서 암호화되어있는 데이터를 비교하는 방법(설명)은 Spring 설정 카테고리란에 작성돼있습니다. 링크 : [Spring Security]BCryptPasswordEncoder 사용해서 사용자의 비밀번호를 암호화하는법 그리고 암호화된 패스워드를 사용자가 입력한 비밀번호와 비교하는법 (tistory.com) #UserController.java 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 ..
(4) ILoginService인터페이스와 LoginService클래스 생성 그리고 Controller에서 전달받게될 비밀번호 Spring Security이용해서 암호화한다음 Mapper한테 전달
->Spring Security이용해서 암호화는 자세한 방법(설명)은 Spring 설정 카테고리란에 작성돼있습니다. 링크: [Spring Security]BCryptPasswordEncoder 사용해서 사용자의 비밀번호를 암호화 하는법 (tistory.com) #ILoginService.java 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 package com.example.login.service; import java.util.List; import com.example.login.vo.UserVO; public interface ILoginService { //회원정보 등록 void insert(UserVO vo); //아이디 중복..