SpringFramework/Spring

Spring Security 세션정보 조회

lovineff 2020. 6. 9. 16:17

@Controller로 선언된 bean 객체에서는 메서드 인자로 Principal 객체에 직접 접근할 수 있다.

@GetMapping("/login/result")
public String loginResult(Principal principal){
	log.info("session > " + principal.getName());
	return "loginSuccess";
}

 

authentication 토큰 사용

@GetMapping("/login/result")
public String loginResult(Authentication authentication){
	UserDetails userDetails = (UserDetails) authentication.getPrincipal();
    
	log.info("session > " + userDetails.getUsername());
   
	userDetails.getAuthorities()
    			.forEach(auth -> log.info("auth > " + auth.toString()));
    
	return "loginSuccess";
}