[JSP] 회원 세션 관리 기법

eunu·2024년 6월 30일
0

JAVA

목록 보기
21/21

세션 관리하는 법에 대해 간략히 정리해보고자함.

기존에는 로그인과 회원가입만 있고 로그아웃은 없는 지옥의 페이지를 만들었다.

하지만 새로고침을 하면 사용자가 회원으로 로그인 했다는 것을 잊어먹는 금붕어가 놀랄만한 기억력을 가지는 페이지기도 했다.
이 모든 것은 사용자의 로그인 정보를 저장하는 과정이 없기 때문에 생기는 일이었는데, 이를 관리하는 많은 방법이 있겠지만(있겠죠?아?마?)
그 중 세션에 대해 정리해보고자 한다.

세션이란?

  • 클라이언트로부터 오는 일련의 요청을 하나의 상태로 보고 그 상태를 일정하게 유지하는 기술
  • 클라이언트가 웹 서버에 접속해있는 상태가 하나의 단위
    세션은 웹서버에 웹 컨테이너의 상태를 유지하기 위한 정보를 저장합니다. 브라우저를 닫거나 서버에서 세션을 삭제하면 세션이 삭제됩니다. 세션은 각 클라이언트의 고유세션 ID를 부여하는데, 이것으로 클라이언트를 구분하여 각 클라이언트의 요구에 맞는 응답을 반환합니다.
    [출처]https://velog.io/@beneficial/Session%EC%9D%B4%EB%9E%80-%EB%AC%B4%EC%97%87%EC%9D%B8%EA%B0%80

당연히 나는! 이 설명을 듣고도 이해가 안갔다! 하하!

대충 이해를 하자면? 여권처럼 사용자가 맞는 정보를 입력하면 고유한 출입국 번호를 제공하는 과정이라고 이해하면 될 듯하다.

이 세션을 발급한 뒤에 모든 페이지에서 해야하는 작업이 있는데, 바로 유효한 세션인지 검증하고 사용자의 id, password 값들을 전부 해당 사용자의 값으로 업데이트 해주는 것이다.

사용자가 어떠한 마음을 품고

url에 get방식으로 정보를 삽입하거나 개발자도구로 본인의 역할을 관리자로 변경해버릴 경우
변경된 정보로 접근하기 전에 다시 본인의 위치로 덮어씌워주는 과정이 필요한 것이다.

이는 주로 controller에서 수행한다.


회사에서 매주 금요일(물론 바쁠땐 스킵하지만)에 진행하는 스터디에서 한번 배웠던 과정인데, 어느 페이지던지 간에 사용하는 개념이라는 생각이 들어 정리하게 되었다.
그나저나 어제 토스 프엔스터디 시험 봤는데.. 배움이 멀었다는 생각을 하게 되었다.
어딜가나 CSS는 어느정도 안다고 생각했는데 진짜 웃기는 소리였겠구나 하고 자기반성을 하고 있다. CSS속성마다 redirect가 일어나는 것도 있고 아닌 것도 있다는 건 어렴풋이알고 있었지만 정확하게는 몰랐다. 심지어 그나마 잘 아는 CSS에서 이정도니 다른 것은 오죽할까. 왜 배울수록 고개를 숙여야하는지 알 수 있어 짧은 시간이었지만 매우 유익했다.


해당 글에서 정정해야하는 내용이나 추가로 조언해주시고 싶은 말씀이 있으시다면 언제든지 댓글 부탁드립니다. 감사합니다 :)

profile
Just Do It

0개의 댓글