일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 그리디
- jpa
- 스프링
- Android
- 백준
- Spring Boot
- db
- JDBC
- Exception
- Proxy
- AOP
- 자바
- Servlet
- kotlin
- transaction
- JPQL
- 알고리즘
- springdatajpa
- java
- 스프링 핵심 기능
- 인프런
- Thymeleaf
- http
- QueryDSL
- pointcut
- SpringBoot
- 스프링 핵심 원리
- Greedy
- 김영한
- spring
- Today
- Total
목록세션 (4)
개발자되기 프로젝트
로그인 시 검증 처리를 위해 의존성 추가. implementation 'org.springframework.boot:spring-boot-starter-validation' 로그인을 벌써 구현하는 이유? 세션에서 로그인 회원 정보를 가져와서, 글 작성시 작성자로 활용하기 위함 1. 로그인 방식 쿠키 세션 2. loginForm 로그인 시 입력할 정보이다. @Getter @AllArgsConstructor public class LoginForm { private String loginId; private String password; } 3. loginService 로그인 처리 로직은 간단하다 비밀번호가 DB에 입력된 값과 동일하면 Member정보를 반환한다. 이 때 DTO로 변환하여 return. @S..
Servlet은 HTTP Session기능 제공. 1. HttpSession 서블릿이 제공하는 HttpSession 도 앞서 만든 SessionManager 와 같은 방식으로 동작 서블릿을 통해 HttpSession 을 생성하면 다음과 같은 쿠키를 생성 쿠키 이름이 JSESSIONID 이고, 값은 추정 불가능한 랜덤 값이다. Cookie: JSESSIONID=5B78E23B513F50164D6FDD8C97B0AD05 HttpSession은 attribute(member정보), 쿠키 이름, 기타 정보(생성 시각, 마지막 요청 시각 등) 를 포함하는 객체. HttpServletRequest에서 httpRequest.getSession()을 통해 받을 수 있음. 2. HttpSession 사용 2.1 Sess..
기존에 사용된 쿠키 방식을 session으로 변경해보자. 1. LoginController loginV2() @PostMapping("/login") public String loginV2(@Validated @ModelAttribute("loginForm") LoginForm form, BindingResult bindingResult, HttpServletResponse response){ if(bindingResult.hasErrors()){ return "login/loginForm"; } Member loginMember = loginService.login(form.getLoginId(), form.getPassword()); if(loginMember == null){ bindingResul..
1. 쿠키 방식의 문제점 쿠키애 정보를 보관하는 방법은 보안문제가 있다. 보안문제 해결을 위해서는 중요한 정보는 서버에 저장해야함. 클라이언트와 서버는 추정 불가능한 임의의 식별자 값으로 연결해야함. 이렇게 서버에 중요한 정보를 보관하고 연결을 유지하는 방법을 세션이라 함 2. 세션 동작 방식 로그인 사용자가 loginId , password 정보를 전달하면 서버에서 해당 사용자가 맞는지 확인 세션 생성 사용자 정보가 맞으면, 세션 ID를 생성 이 때 세션 ID는 추정 불가능해야 함. UUID는 추정이 불가능하다. -->로또 연속 6번보다 낮은 확률로 맞출 수 있음 ㅋㅋㅋ Cookie: mySessionId=zz0101xx-bab9-4b92-9b32-dadb280f4b61 생성된 세션 ID와 세션에 보관..