<aside> 1️⃣ Principal이란?
</aside>
Principal
클래스는 스프링 시큐리티에서 중요한 역할을 하는 클래스로, 현재 사용자의 보안 관련 세부 정보를 담고 있다.Principal
클래스는 UserDetails
인터페이스를 구현하고 있다.UserDetails
**는 스프링 시큐리티에서 사용자의 정보를 담는 인터페이스로, 사용자의 이름, 패스워드, 권한 정보 등을 반환하는 메소드를 정의하고 있다. 이를 구현한 Principal
클래스는 이러한 사용자 정보를 실제로 가지고 있게 된다.Principal
클래스의 필드로는 userId
, username
, password
, email
, roleType
등이 있다. 이들은 사용자의 아이디, 이름, 패스워드, 이메일, 권한 타입 등을 나타낸다.Principal
클래스에는 UserDetails
인터페이스의 메소드들이 구현되어 있다. 이 메소드들은 스프링 시큐리티에서 사용자의 정보를 가져오는 데 사용된다.getUsername()
메소드는 사용자의 이름을 반환하고, getPassword()
메소드는 사용자의 패스워드를 반환한다.Principal
클래스에는 **of
**와 **from
**이라는 팩토리 메소드가 있다. of
메소드는 Principal
객체를 생성하는 데 사용되며, from
메소드는 UsersDto
객체를 Principal
객체로 변환하는 데 사용된다.Principal
클래스는 스프링 시큐리티에서 사용자의 보안 관련 정보를 관리하고, 이 정보를 바탕으로 인증과 권한 확인 등의 작업을 수행하는 데 필요한 클래스이다.