728x90 Spring83 [Spring] 로그인 처리 세션 로그인 처리 세션 앞서 쿠키로만 처리 하면 어떤 문제점들이 발생하는지 알아 봤다. 세션을 이용해서 해당 부분을 보완 해본다. 세션 동작 방식 로그인 1. 로그인 요청 2. 사용자 체크 3. 세션 아이디 생성 4. 응답으로 생성된 쿠키를 헤더에 포함 시킨다. 5. 쿠키가 브라우저의 쿠키 저장소에 등록이 된다 세션동작 방식 로그인 이후 1. 페이지 접근 2. 쿠키에 있는 세션 아이디로 실제 회원정보 조회 3. 해당 정보를 가지고 화면에 보여준다. 세션으로 쿠키의 단점을 보완한점 복잡한 세션Id 생성으로 쿠키값을 변조하여 접근하는것을 막는다. 세션의 만료시간을 두어 쿠키가 탈취 되더라도 문제가 없도록 한다. 예제 코드 package hello.login.web.session; import org.springf.. 2022. 5. 25. [Spring] 로그인 처리 쿠키 쿠키를 사용하여 로그인 처리 쿠키의 종류 영속 쿠키: 만료 날짜를 입력 하면 해달 날짜 까지 유지 세션 쿠키: 만료 날짜를 생략하면 브라우저 종료시 까지만 유지 쿠키 생성 과정 1. 로그인 시도 2. 로그인 성공시 DB 에서 MemberId 로 쿠키를 생성 3. 쿠키를 Header 에 포함시켜 response 를 준다. 4. 브라우저 쿠키 저장소에 쿠키가 저장된다. 쿠키생성 후 처리과정 1. 저장된 쿠키 조회후 요청시 쿠키를 담아 서버에 요청 2. 해당 정보를 가지고 DB 조회 3. 응답. 쿠키를 이용한 로그인 로직 @PostMapping("/login") public String login(@Valid @ModelAttribute LoginForm form, BindingResult bindingRes.. 2022. 4. 16. [Spring] ModelMapper Modelmapper 모델 맵퍼에 대해서 알아보자. 기본적인 사용 방법과 사용시 문제가 될만한 부분을 알아본다. 프로젝트를 진행하다 보면 DTO 를 만들게 된다. 모델을 DTO로 쉽게 변환해주기때문에 사용한다. 사용할때 유의점은 ACCESSLEVEL 또는 setter 둘중 하나는 반드시 필요하다. 값이 null로 떨어지는 문제를 해결해본다. DTO (DataTransferObject)를 만드는 이유? 간단하게 설명하자면 요청비용이 비싸고 자바의 특성상 여러개의 값을 리턴할수없다. 모델에는 다양한 어노테이션 또는 로직이 들어 갈수 있기 모델 자체를 전달하는건 적합하지 않다고 생각한다. 그렇기 때문에 DTO 를 만들어서 사용한다. ModelMapper 의 특징 Intelligent 모델 맵퍼는 어떻게 데이터.. 2022. 3. 12. [Spring] Validation: Validator Validator 지금까지 검증로직을 구현해 왔다. 하지만 컨트롤러에 검증로직이 차지하는 비중이 너무 크다. Validator 역할을 분리하여 사용하자 ItemValidator 구현 Validator Interface 스프링은 검증을 제공하기 위해 인터페이스를 제공한다. public interface Validator { boolean supports(Class clazz); void validate(Object target, Errors errors); } 구현 supports(){}: - 해당 검증기를 지원하는 여부 validate(Objectm target, Errors errors); - 검증 대상 객체와 BindResult @Component public class ItemValidator im.. 2022. 2. 2. 이전 1 2 3 4 5 6 7 8 ··· 21 다음 728x90 반응형