⏰ 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";
}
}