⏰ 2024. 06. 14 금
✔ 스프링 이론 강의를 듣고 정리하면서 작성했습니다.
Spring Security : 로그인
Spring Security 사용 전

Spring Security 사용 후

Spring Security를 사용하면, Client의 요청은 모두 Spring Security를 거치게 된다.
Spring Security 역할

사용자 (Client)
username과 password 정보를 HTTP body로 전달(POST 요청)SecurityConfig 클래스를 생성하여 변경 가능인증 관리자 (Authentication Manager)
UserDetailsService 에게 username 을 전달하고 회원상세 정보를 요청UserDetailsService
username를 사용하여 User 조회UserDetails로 변환UserDetails를 인증 관리자(Authentication Manager)에게 전달인증 관리자 (Authentication Manager)
암호화하여, UserDetails의 암호문 password과 비교UserDetailsImpl 객체를 가져올 수 있다.User 객체를 사용할 수 있다.@AuthenticationPrincipal 사용해서 Home 페이지에 사용자 이름(username) 반영하기@Controller
public class HomeController {
@GetMapping("/")
public String home(Model model, @AuthenticationPrincipal UserDetailsImpl userDetails) {
// 페이지 동적 처리 : 사용자 이름
model.addAttribute("username", userDetails.getUser().getUsername());
return "index";
}
}