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