Spring MVC 2편 로그인 처리

신재원·2023년 2월 14일
0

Spring MVC 2편

목록 보기
12/26

✔ domain 패키지

도메인이 가장 중요하다

  • 도메인 = 화면,UI를 제외한 시스템이 구현해야 하는 핵심 비지니스 업무 영역을 말한다
  • 향후 web을 다른 기술 (API 등)로 바꾸어도 도메인은 그대로 유지 할수 있어야한다.
  • web은 domain을 참조해도되지만, domain은 web 패키지를 참조하면 안된다.

✔ web패키지

Optional객체

  • 📌 Optional 객체를 사용해 null 반환 대신에 empty로 찾을수 있다.

로그인 처리하기 - 쿠키 사용

  • 쿠키에는 영속 쿠키와 세션 쿠키가 있다.
    • 영속 쿠키 : 만료 날짜를 입력하면 해당 날짜까지 유지
    • 세션 쿠키 : 만료 날짜를 생략하면 브라우저 종료시까지 유지
  • 쿠키 사용 예시 (servlet 라이브러리 사용)
    Cookie("쿠키로 등록할 필드 네임 ", 등록할 데이터)
  • 쿠키를 담을 HttpServletResponse 객체를 추가하여 responese.addCookie(idCookie);
  • 담겨진 쿠키를 사용해 로그인이 된 사용자 @CookieValue

로그아웃 처리하기

  • 저장된 쿠키에서 setMaxAge(0)를 "0"으로 설정하고 쿠키에 다시 담아준다

📍 쿠키의 보안상 문제

  1. 쿠키 값은 임의로 변경 할수 있다.
    • 클라이언트가 쿠키를 강제로 변경하면 다른 사용자 정보가 나온다.
  2. 쿠키에 보관된 정보는 훔쳐갈 수 있다.
  3. 해커가 쿠키를 훔쳐가면 훔친 쿠키로 악의적인 요청을 계속시도할수 있다.

📌대안
: 쿠키에 중요한값을 노출하면안됨, 사용자별로 예측 불가능한 임의의 토큰 (랜덤한값)을 노출한다.

0개의 댓글