[JAVA] 세션정보(session)를 가져오는 방법
1. 세션정보 가져오는 방법
ServletRequestAttributes servletRequestAttribute
= (ServletRequestAttributes) RequestContextHolder.currentRequestAttributes();
HttpSession httpSession = servletRequestAttribute.getRequest().getSession(true);
2. 스프링 시큐리티 사용중인 경우 세션정보 가져오는 방법
User user = (User) authentication.getPrincipal();
또는
User user = (User) SecurityContextHolder.getContext().getAuthentication().getPrincipal();
3. RequestContextListener를 사용하여 세션을 가져오는 방법
HttpServletRequest의 인자 전달없이 직접 Request 정보를 가져오는 방법을 사용한다.
web.xml 파일에 리스너 설정한 후 java 소스상에서 현재의 HttpServletRequest 객체를 가져온 후 세션정보를 확인하는 방법이다.
이 방법은 SERVICE 또는 DAO 등 기타 클래스에서 Session 정보를 가져오고자 할 때 사용하면 된다.
<listener>
<listener-class>
org.springframework.web.context.request.RequestContextListener
</listener-class>
</listener>
ServletRequestAttributes sra =
(ServletRequestAttributes) RequestContextHolder.currentRequestAttributes();
HttpServletRequest req = sra.getRequest();
HttpSession session = req.getSession();
[Spring] 동시 접속 차단 제한 (중복 로그인에 대한 처리) 방법
스프링 시큐리티 한 때 개발자가 직접 처리하던 보안 관련 코딩(시큐어 코딩) 처리 과정을 스프링 프레임워크에서 제공하는 스프링 시큐리티를 사용하여 사용권한 관리, 비밀번호 암호화, 회원
playground.naragara.com
[REFERENCE]