프로그래밍/Spring
@AuthenticationPrincipal userDetail를 사용하는 예제
Mr-후
2019. 4. 25. 10:45
반응형
@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에 넘겨준다.
반응형