Spring
[Spring] Spring Security 로그인한 유저 정보 가져오기
hrming
2024. 3. 16. 14:44
Spring Security로 로그인한 유저 정보를 가져올 수 있는 방법은 3가지 정도가 있는 것 같다. (하단 출처 참고)
나는 아래와 같이, 전역에 선언된 SecurityContextHolder를 이용해서 로그인 유저 정보를 가져왔다. 😎
Object principal = SecurityContextHolder.getContext().getAuthentication().getPrincipal();
UserDetails userDetails = (UserDetails)principal;
String username = principal.getUsername();
String password = principal.getPassword();
@GetMapping("/write")
public String getReviewWrite(Model model) {
// 로그인한 유저 정보
Object principal = SecurityContextHolder.getContext().getAuthentication().getPrincipal();
UserDetails userDetails = (UserDetails)principal;
String username = userDetails.getUsername();
User user = new User();
user = userService.getUserInfo(username);
model.addAttribute("review", new Review());
model.addAttribute("nickname", user.getNickname());
model.addAttribute("username", user.getName());
return "reviewWrite";
}
출처 및 참고:
https://januaryman.tistory.com/165
[Spring Security] 현재 로그인한 사용자 정보 가져오기
Spring Security 에서 현재 인증된(로그인한) 사용자의 정보를 가져오는 방법 에 대해 살펴볼 것 입니다. 스프링의 다양한 메카니즘을 통해 현재 로그인 중인 사용자의 정보를 가져올 수 있는데, 대
januaryman.tistory.com