dukDukz
[업무 회고] 쿠키 유효 시간 만료 관련 본문
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 |