본문 바로가기
Framework & Library/Spring Boot

[Spring Boot] : 직접 만든 세션 적용하여 로그인 처리하기

by 오주현 2022. 2. 21.
반응형
private final SessionManager sessionManager;

우선 전에 만든 sessionManager를 주입 받는다.

 

@PostMapping("/login")
public String loginV2(@Valid @ModelAttribute LoginForm form, BindingResult bindingResult, HttpServletResponse response) {
    if (bindingResult.hasErrors()) {
        return "login/loginForm";
    }

    Member loginMember = loginService.login(form.getLoginId(), form.getPassword());

    if (loginMember == null) {
        bindingResult.reject("loginFail", "아이디 또는 비밀번호가 맞지 않습니다.");
        return "login/loginForm";
    }
//로그인 성공 처리

        //세션 관리자를 통해 세션을 생성하고, 회원 데이터 보관
        sessionManager.createSession(loginMember, response);

        return "redirect:/";
    }

로그인 성공시 세션을 등록하고 세션에 loginMember를 저장하고 쿠키도 발행한다.

 

로그인을 해보면 쿠키가 발생했고 값도 랜덤 값이 들어가 있게 된다.

 

세션은 쿠키를 쓰는데 서버에서 최대한 데이터를 유지하는 것이다. 사실 이렇게 만드는 것이 불편한 방법이라고 한다. 김영한 강사님은 단계적으로 프로젝트를 발전시키기 때문에 아직 진화된 버전들이 남았을 것이라고 예상했다.

 

다음 섹션을 공부하면서 천천히 이 세션과 쿠키를 진화시켜 가보겠다.

 


스프링 MVC 2편 - 백엔드 웹 개발 활용 기술을 참고하여 공부하였습니다.

반응형

댓글