반응형
@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에 넘겨준다.
반응형
'프로그래밍 > Spring' 카테고리의 다른 글
JPA Entity to Dto, Pageable 사용 예 (0) | 2019.12.12 |
---|---|
BCrypt알고리즘 해시로 만든 암호 (0) | 2019.04.25 |
WebSecurity configure (0) | 2019.04.25 |
@RequestMapping의 params (0) | 2019.04.23 |
@ModelAttribute와 @Validated를 이용한 Form요소 전달 예제 (0) | 2019.04.19 |