Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- cloud native
- JavaScript
- Spring Security
- Spring REST Docs
- UsernamePasswordAuthenticationFilter
- openapi3
- REACT
- 리액트
- SpringRESTDocs
- T-OTP
- Reduxpender
- axios
- Spring Batch
- MSA
- SpringBoot
- vue
- gradle
- preventdefault
- MFA
- Crawling
- Filter
- SWAGGER
- AuthenticatoinProvide
- vuejs
- OpenStack
- tasklet
- stopPropogation
- Flyway
- cheerio
- Pender
Archives
- Today
- Total
Miracle Morning, LHWN
18-3. Spring Security 에 대해 (3) 본문
UsernamePasswordAuthenticationFilter
http/form-login 을 지원하는 즉 Form data 를 기반으로 인증을 지원하기 위해 제공되는 Filter 이다. 기본적으로 Http Security 에 formLogin() 을 설정함으로서 활성화되며, UserDetail 과 UserDetailsService 를 활용하여 인증한다.
UsernamePasswordAuthentication Flow
Spring Security 에서 제공하는 WebSecurityConfigureAdapter 에 다양한 설정을 통해 웹 화면에서 전송되는 Form data 의 username, password 를 데이터베이스에 저장된 사용자 정보와 비교하게 된다.
인증에서 이용자 정보
시스템에서 이용자 정보는 이용자의 소유권을 확인해주는 것과 더불어 권한, 역할, 활성화 여부 등에 대한 정보를 제공하고 이를 통하여 인증을 하게 된다.
- 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/
'IT 기술 > [JAVA] Spring Boot' 카테고리의 다른 글
21. MFA (Multi-Factor Authentication) (0) | 2021.06.25 |
---|---|
20. Spring Batch 를 활용한 데이터 일괄 처리 (0) | 2021.06.25 |
18-2. Spring Security 에 대해 (2) (0) | 2021.06.15 |
19. Spring Security 를 활용하여 OpenStack 연동해보기 (0) | 2021.06.02 |
18-1. Spring Security 에 대해 (1) (0) | 2021.06.01 |
Comments