Java

[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]

 

Leave a Reply

error: Content is protected !!