Spring_security

인증 아키텍처

전한준 2025. 12. 5. 19:52

 

 

 

 

AuthenticationFilter 는 사용자의 인증 정보를 저장하는 토큰  개념의 객체이다. 

인증은 특정자원에 접근하려는 사람의 신원을 확인하는 과정이다, 

사용자의 인증 은 사용자의 이름과 비밀번호를 입력하게 해서 인증이 되면 권한 부여를 하는 것이다 .

 

AuthenticationManager (관리자) 는 관리를 하고 Provider는  실행 및 총괄을 한다.

UserDetailService에서 사용자정보(UserDetails) 를 가져와서 PasswordEncoder에서 비밀번호를 검증하고 Authentication 객체를 만들고 다시 그게 Authentication 객체를 만들어서 SecurityContext 에 저장이 된다고 보면 될꺼 같다. 

 

 

 

 

 

 

 

여기서 별도의 정보를 뽑아서 따로 인증 과정을 만들어 줄 수 도 있다. 

 

getPrincipal() : 인증 주체의 사용자 이름이다.

getCredentilas(): 인증 주체의 비밀번호이다. 보통 비밀번호는 null로 저장을 하지는 않는다. 

getAuthorities() : 인증 주체에게 부여된 권한이다. 

 

 

 

인증 객체 Authentication 을 만들고 AuthenticationManager에게 전달하고 인증처리를 수행한다. 

어쨋든 여기서 알아 두어야 하는 것은 인증 전에 도 인증 객체가 있고 인증 후 에도 인증객체가 생성이 되는 게 포함하는 값에 변화가 있다는 것이다.

(비밀번호는 보안에 따라 null 로 처리되고 ,역할 이 부여되고 인증 상태값이 바뀐다는 것 정도 알면 될 꺼 같다. )

 

 

최종 인증 결과를 저장한 Authentication 객체를 SecurityContext에 저장한다.