Miracle Morning, LHWN

18-3. Spring Security 에 대해 (3) 본문

IT 기술/[JAVA] Spring Boot

18-3. Spring Security 에 대해 (3)

Lee Hye Won 2021. 6. 25. 08:50
UsernamePasswordAuthenticationFilter

 

http/form-login 을 지원하는 즉 Form data 를 기반으로 인증을 지원하기 위해 제공되는 Filter 이다. 기본적으로 Http Security 에 formLogin() 을 설정함으로서 활성화되며, UserDetail 과 UserDetailsService 를 활용하여 인증한다.

 

UsernamePasswordAuthentication Flow

 

Spring Security 에서 제공하는 WebSecurityConfigureAdapter 에 다양한 설정을 통해 웹 화면에서 전송되는 Form data 의 username, password 를 데이터베이스에 저장된 사용자 정보와 비교하게 된다.

 

https://fastcampus.co.kr/courses/204729/clips/

 

https://fastcampus.co.kr/courses/204729/clips/

 

인증에서 이용자 정보

 

시스템에서 이용자 정보는 이용자의 소유권을 확인해주는 것과 더불어 권한, 역할, 활성화 여부 등에 대한 정보를 제공하고 이를 통하여 인증을 하게 된다.

  • Username : 이용자를 특정할 수 있는 Identity 정보
  • Password : Identity 정보에 대한 소유권을 확인할 수 있는 비밀번호
  • Authority : Identity 정보에 대한 소유권 확인이 된 경우 해당 이용자의 권한 또는 권한을 대표할 수 있는 역할 정보를 제공
  • Enabled : Identity 정보가 이용자 시스템 내에서 활성화 되어있는지 여부에 대한 정보를 제공

 

Spring Security 다양한 이용자 정보 제공

 

이용자 정보를 제공하는 수단과 방법을 다양하게 설정하여 인증 서비스를 제공할 수 있다.

  • In-memory : Spring Security 에 직접적으로 이용자 이름, 비밀번호, 권한 등을 설정하여 서비스 제공
  • JDBC : RDBMS 를 이용하여 이용자 정보를 저장하고 인증할 수 있도록 설정하여 서비스 제공
  • LDAP : LDAP 을 활용하여 이용자 정보를 제공받는다. LDAP 은 Sprign Security 와 관계없이 별도의 서비스로 제공된다.
  • SAML : SAML 에는 SP (Service Provider) 와 IDP (Identity Provider) 로 나뉜다. IDP 는 인증정보를 제공하는 서비스, SP 는 서비스를 제공하며 IDP 의 인증정보를 소비하는 서비스이다. Spring Security 에서 SAML 은 SP 로서, Spring Security 와 관계없는 별도의 SAML IDP 서비스를 통하여 인증한다.
  • OAuth : OAuth 도 Server/Client 로 구분하여 이용자 정보 제공 (Server side) 서비스와 이용자 정보 소비 (Client side) 를 모두 지원한다. Server 설정과 Client 로 구분하여 설정할 수 있다.

 

출처 : https://fastcampus.co.kr/courses/204729/clips/

 

패스트캠퍼스 온라인 강의 - 스프링 아카데미아 15개 영상강의 코스(5월)

 

fastcampus.co.kr

 

Comments