Spring Boot
Cookie
청춘고양이
2022. 8. 18. 00:35
반응형
우리가 각종 사이트에 로그인했을 때 쿠키로 서버가 로그인 여부에 관해 기억을 해줄 수 있다.

쿠키를 통해 세션의 값이 들어가지는 과정은 다음과 같다. 위의 사진으로 설명해보겠다.
이름 : [JSESSIONID]
콘텐츠 : F7DBD1493FD2FD3BB5FA353CA8BA913A
HashMap<String, HashMap<String, Object>> sessionStroage = ?;
HashMap<String, Object> sessinValues = ?;
sessionValues.put ("user",user);
sessionStroage.put("F7DBD1493FD2FD3BB5FA353CA8BA913A", sessionValue);
F7DBD1493FD2FD3BB5FA353CA8BA913A.get("user") -> UserEntity user
위의 코드처럼 세션의 값이 들어가진 다고 볼 수 있다.
그렇다면 이러한 쿠키를 직접 한번 작성해보자. 우선 미리 만들어진 로그인을 이용해서 처리해보겠다. 로그인에서 처리해야 하는 이유는 쿠키는 유저가 로그인할 때 생성되기 때문!

다음과 같이 사용자의 로그인을 기억하지 못하는 로그인이 있다. 그렇다면 사용자의 로그인을 기억하도록 쿠키를 한번 만들어 보자.
1. HttpServletRequest 이용
2. 서버가 기억해주기 위해 getSession을 이용
3. setAttribute로 세션의 이름을 지어주기.

setAttribute는 문자열로 즉, "~~"로 값을 정할 수 있지만 UserEntity의 상수의 변수를 만들어 곳곳에 사용하기 위해 다음과 같이 작성해주었음. 이렇게 해주는 이유는 "user"라는 이름으로 정했다고 했을 때, "User"로 적을 수 있는 실수를 막기 위해!
이렇게 만들어준 뒤 해당 세션을 조회할 때는 스프링 부트에서 제공해주는 기능을 이용하면 된다. (@SessionAttribute)
반응형