스프링 MVC-12(로그인)

존스노우·2022년 2월 22일
0

SPRING-MVC

목록 보기
12/18

로그인 처리

설계 이유

핵심 비즈니스 영역 ITEM 객체 리파지토리 등 ..

도메인은 Web을 참조XX ex) 아이템 레파지토리가 ItemSaveForm 으ㅣ존 X

홈 화면

Sign up

Sign In

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

쿠 키 설명

로그인 상태 유지~

로그아웃 .

쿠키와 보안 문제

쿠키값 임의변경시.. 다른 사용자됨.

쿠키 보관 정보를 훔쳐감

로그인 처리하기 세션 동작

중요한 정보는 서버에 저장해야됨 ..

임의로 만든 랜덤 쿠키값을 쿠키 저장소에 넣어준다.

로그인처리하기 세션만들기

세션 생성

세션 조회

세션 만료

세션만료는 웹브라우저에 남아있지만

서버에는 남아있지않음

로그인처리하기 - 서블릿 HTTP 세션1


세션이있으면 로그인된 홈화면
세션이 없으면 로그인이 되지않은 홈화면

로그인 처리하기 - 서블릿 HTTP 세션1

단순히 세션찾을땐 이방법이 가장 편하다

웹브라우저가 세션을 지원하지 않을때 url에 표시해 유지하게..
이 웹브라우저가 쿠키를 지원하지 않는지 최초에 알수 없기때문에 쿠키값을 Url에 포함시킴.

세션 정보와 타임아웃!

세션은 서버의 메모리를 사용해서 계속 누적됨

사용자는 로그아웃을 직접 호출하는 경우가 적기 때문에 서버 입장에서는 이사람이 종료 했는지 안했는지

알수 없을 뿐더라 세션이 무한정 보관된다.

이로 인해 세션과 관련된 쿠키를 탈취당해 나쁜 목적으로 사용 될 수 있따.

그리고 10만명의 사용자가 로그인하면 10만개의 세션이 생성 되는것이다..

가장 좋은건 서버에 최근에 요청한 시간을 기준으로 30분 정도 유지해주는 것

서블릿 필터 - 인증 체크

디폴트 메소드는 구현하지 않아도 된다.

음.. 좀더 공부해야될 듯

이대로 로직을 하면 다시하면 로그인화면으로 돌아와버림

고쳐보자

스프링 인터셉터

공통관심 사항을 효과적으로 해결 !

정상흐름 에서는 ex파라미터 null

스프링 인터셉터 - 요청로그

스프링 인텁셉터 인증 체크


ArgumentResolver 활용

정리

Tip WEBCONFIG에서

new 생성 보단 빈으로등록해서 사용하는 방법도 있따.

profile
어제의 나보다 한걸음 더

0개의 댓글