dukDukz

[업무 회고] 쿠키 유효 시간 만료 관련 본문

업무 관련

[업무 회고] 쿠키 유효 시간 만료 관련

헤일리_HJ 2024. 7. 20. 15:05

Java Spring Boot, Thymeleaf, html, Javascript

 

어드민 사이트 작업 진행 중 인데 현재 쿠키로 로그인 유지가 되게 끔 설정이 되었다.

 

로그인 시 쿠키 안에 회원의 여러 정보를 넣어놓고 이걸 3시간 유지한다.

 

그 안에는 "사이트 아이디" 라는게 포함되는데, 사이트 아이디는 관리자 페이지에서 어떤 사이트의 관리자 페이지로 접근 할 것 인지 결정하는 키 값이다.

 

<로그아웃 되었을 때 사이트 아이디를 포함한 URL로 이동해야 함>

 

1. 쿠키 유효시간 만료 전에 "로그아웃" 버튼을 눌러서 로그아웃 한 경우

- 이때는 쿠키 안에 있는 정보를 가져와서 원하는 url 로 redirect 시켜주면 된다.

 

2. 쿠키 유효시간 만료 후에 자동 로그아웃 된 경우

- 이 부분이 구현이 안되어 있었다.

 

* 쿠키는 유효 시간이 만료되면 알아서 브라우저에서 삭제된다.

- 쿠키 안에 내가 필요한 정보가 담겨 있는데 만료 시간 이후에도 접근할 수 있는 방법이 없을까...

세션 스토리지나 로컬 스토리지에 해당 정보를 따로 저장하려고 했는데, 문제는...

1) 세션 스토리지 - 탭 이동이나 브라우저를 닫으면 해당 정보에 접근 불가능

2) 로컬 스토리지 - 로그아웃 처리를 서비스 단에서 하고 있는데 여기에서 로컬 스토리지에 있는 값을 가져올 수 없음

 

그래서 url param으로 가져가기로 했다.

 

[수정한 부분]

1. 로그인 성공 시 이동하는 url param에 ?site_id=adfasdf 추가

2. 로그인 후 해당 계정에서 접근 가능한 메뉴 url 리스트를 받아와서 메뉴를 동적으로 생성한다.

여기에서 기존 메뉴 url에 다른 param이 있는 경우, &site_id=asdfas 로 추가하고 아닌 경우 ?sitd_id=asdfdas로 추가하게 변경했다.

이 부분은 model로 메뉴 목록을 받아와서 처리하고 있길래 해당 model에 siteId 값 추가해서 타임리프로 url 파람만 추가하는 것으로 수정했다.

 

url에 site_id를 드러내는게 신경 쓰여서 최대한 다른 방법을 찾아보려고 했는데 그냥 쉽게 생각해볼걸 그랬다.

'업무 관련' 카테고리의 다른 글

프로젝트 회고, 긴 이야기  (2) 2024.04.06
CRA 에 ESlint & prettier 적용 시키기  (0) 2022.07.07
FE 작업 시 필요한, ESLint 와 Prettier  (0) 2022.01.21
리서치 작성하는 법  (0) 2022.01.18