스프링시큐리티
인증과인가 를 제공하는 데 초점을 맞춘 프레임워크
스프링 시큐리티의 특징
1. 서블릿 API 통합
2. Spring Web MVC 선택적 통합
3. 인증과 권한 부여를 모두 포괄적이고 확장 가능한지원
4. 세션 고정, clickjacking, 사이트 간 요청 위조 등과 같은 공격으로부터 보호
===> 웹 인증과 인가를 편하게 구현하기 위한 특징
*세션 고정 : 사용자 로그인 시 항상 일정하고 고정된 세션ID값을 사용하는 취약점
*clickjacking : 사용자가 클릭하고 있다고 인지하는 것과 다른 어떤 것을 클릭하게 속이는 악의적인 기법
*사이트 간 요청 위조 : csrf라고 부르며, 사용자가 자신의 의지와는 무관하게 공격자가 의도한 행위를 특정 웹사이트에 요청하게 하는 공격 기법
스프링 시큐리티는 요청을 어떻게 처리 방법
스프링시큐리티는 서블릿필터 체인을 자동으로 구성하고 요청을 거치게 한다.
로그인 인증 구조
시큐리티의 주요 필터 종류
SecurityContextPersistenceFilter
- SecurityContextRepository를 통해 SecurityContext를 Load/Save 처리
LogoutFilter
- 로그아웃 URL(기본값: /logout)로 의 요청을 감시하여 해당 사용자를 로그아웃 시킴
UsernamePasswordAuthenticationFilter
- ID/비밀번호 기반 Form 인증 요청 URL(기본값: /login)을 감시하여 사용자를 인증함
ExceptionTransiationFilter
- 요청을 처리하는 중에 발생할 수 있는 예외를 위임하거나 전달
FilterSecuritylnterceptor
- 접근 권한 확인을 위해 요청을 AccessDecisionManager로 위임
이 필터가 실행되는 시점에는 사용자가 인증됐다고 판단
스프링 시큐리티 사용
참고
https://www.youtube.com/watch?v=aEk-7RjBKwQ&ab_channel=%EC%9A%B0%EC%95%84%ED%95%9C%ED%85%8C%ED%81%AC
'개발 관련 강의 정리 > 10분 테코톡' 카테고리의 다른 글
[10분 테코톡] 🌕제이의 Spring AOP 정리 (0) | 2023.05.04 |
---|---|
[10분 테코톡] 🔥미르의 JDK Dynamic Proxy vs CGLIB Proxy 정리 (0) | 2023.05.03 |
[10분 테코톡] 👨💻히브리의 Sharding, Clustering, Replication 정리 (0) | 2023.05.01 |
[10분 테코톡] 🐶 코기의 Servlet vs Spring (0) | 2023.04.28 |
[10분 테코톡] 🐬히로의 웹 요청과 응답 정리 (0) | 2023.04.27 |
댓글