Session
-
Spring MVC - Session을 이용한 로그인 처리 (HttpSession, @SessionAttribute), 세션 정보 조회Spring/Spring MVC 2022. 2. 8. 22:28
Session을 이용한 로그인 처리 HttpSession은 이미 이전에 직접 구현한 Session 기능과 거의 같은 방식으로 제공해준다. 쿠키 이름은 JSESSIONID이며 값은 추정 불가능한 랜덤 값으로 되어있다. HttpSession을 이용하여 로그인 처리를 구현해보자. HttpSession을 이용한 로그인 처리 Session에 사용할 상수 HttpSession에 데이터를 보관하고 조회할 때 같은 이름이 중복되어 사용되므로 상수를 정의 public class SessionConst { public static final String LOGIN_MEMBER = "loginMember"; } 세션 생성과 조회 - 로그인 HttpSession은 HttpServletRequest를 통해 가져올 수 있다. -..
-
Spring MVC - Session을 직접 구현하여 로그인 처리Spring/Spring MVC 2022. 2. 8. 20:34
Session을 직접 구현하여 로그인 처리 Cookie를 이용하여 로그인 처리를 하게 되면 여러 가지 보안 이슈가 있었다. 이 문제를 해결하기 위해서는 로그인 정보(노출되면 안 되는 중요한 정보)는 모두 서버에 저장해야 되며 저장된 정보를 매핑할 수 있는 임의의 토큰(Sessionid)을 부여한다. Session 동작 방식 로그인 : 사용자가 로그인 정보를 전달하면 서버에서 해당 사용자가 맞는지 확인한다. Session 생성 : UUID를 이용하여 세션 ID를 생성한다. 생성된 세션 ID와 세션에 로그인 정보를 서버의 세션 저장소에 보관한다. Sessionid를 응답 쿠키로 전달 : 클라이언트와 서버는 결국 쿠키로 연결이 되어야 한다. 서버는 클라이언트에게 세션 ID만 쿠키에 담아서 전달한다. 클라이언트..
-
Spring MVC - SessionSpring/Spring MVC 2021. 12. 29. 12:36
Session 브라우저가 최초로 서버에 요청을 하게 되면 브라우저당 하나씩 메모리 공간을 할당해준다. 브라우저당 하나씩 지정되므로 요청이 새롭게 발생하더라도 같은 메모리 공간을 사용한다. 브라우저 종료할 때 까지 Session은 유지되며 서버에서 사용할 수 있다. SessionScope 브라우저가 최초의 요청을 발생 시키고 브라우저 닫을 때 까지를 SessionScope라 한다. SessionScope 에서는 Session 영역에 저장되어 있는 데이터나 객체를 자유롭게 사용 가능 방법 1 - HttpServletRequest 객체로 Session에 데이터 주입 브라우저가 요청을 하면 Session 객체가 생성되어 HttpServletRequest에 저장되므로 HttpServletRequest에서 Sess..