본문 바로가기
프로그래밍/Spring

@AuthenticationPrincipal userDetail를 사용하는 예제

by Mr-후 2019. 4. 25.
반응형

@AuthenticationPrincipal userDetail를 사용하는 예제


로그인 상태에서 사용자 정보를 사용하는 예제이다. RequestMapping에서부터 간단한 이용 방법을 보자. 


...

@RequestMapping(value = "create", method = RequestMethod.POST)
String create(@Validated CustomerForm from, BindingResult result, Model model, @AuthenticationPrincipal LoginUserDetails userDetails) {

if (result.hasErrors()) {

return list(model)

}

Customer customer = new Customer(); 
BeanUtils.copyProperties(form, customer); 
customerService.create(customer, userDetails.getUser());
return "redirect:/customers"; 

}

.... 


컨트롤러의 인자에 @AuthenticationPrincipal을 붙이면 로그인 상태에 있는 LoginUserDetails객체를 가져올 수 있다. 로그인 상태에 있는 LoginUserDetails객체에 저장되어 있는 User 정보를 꺼내서 CustomerService에 넘겨준다. 


반응형