1.의의
2.Authentication 객체 주입
@GetMapping("/register")
public void registerForm(Model model, Authentication authentication) throws Exception {
CustomUser customUser = (CustomUser) authentication.getPrincipal();
Member member = customUser.getMember();
Board board = new Board();
board.setWriter(member.getUserId());
model.addAttribute(board);
}
3.Principal 객체 주입

@GetMapping("/register")
public void registerForm(Model model, Principal principal) throws Exception {
log.info("registerForm principal.getName() = " + principal.getName());
UsernamePasswordAuthenticationToken usernamePasswordAuthenticationToken = (UsernamePasswordAuthenticationToken)principal;
CustomUser customUser = (CustomUser)usernamePasswordAuthenticationToken.getPrincipal();
Member member = customUser.getMember();
log.info("registerForm member.getUserId() = " + member.getUserId());
Board board = new Board();
board.setWriter(principal.getName());
model.addAttribute(board);
}
4.@AuthenticationPrincipal 애너테이션 지정
@GetMapping("/register")
public void registerForm(Model model, @AuthenticationPrincipal CustomUser customUser) throws Exception {
Member member = customUser.getMember();
log.info("registerForm member.getUserId() = " + member.getUserId());
Board board = new Board();
board.setWriter(member.getUserId());
model.addAttribute(board);
}
4.SecurityContextHolder사용