springframework/시작하자SpringSecurity 44

4.UsernamePasswordAuthenticationFilter

UsernamePasswordAuthenticationFilter? 로그인 처리, 인증기능 해주는 Filter이다. 실질적으로 사용자가 로그인을 하게되면, 인증처리가 이루어지는데 이 요청을 담당하여 인증처리를 하는 Filter가 UsernamePasswordAuthenticationFilter 이다. 흐름과 역할은, 분기점, 결과처리! 내부적으로 각각의 인증처리 역할에 따라 여러개의 클래스를 활용하게된다. 사용자가 인증을 시도 UsernamePasswordAuthenticationFilter가 요청을 받는다. AntPathRequestMatcher("/login") 가 요청 url이 로그인 url과 매칭되는지 검사한다. 매칭이 되면 다음단계 , 불일치하면 다른 Filter가 Chain 일치하면 Usern..

3.Form Login 인증

Form 인증의 과정은? 클라이언트가 자원접근 시도 서버의 자원접근 보안정책에 맞지않으면 로그인페이지로 리다이렉트 POST 방식으로 로그인 인증시도 SpringSecurity가 세션 ID를 생성 , 인증결과를 담은 인증(Athenciation) 객체를 생성, SecurityContext 객체를 생성하여 인증객체를 담고 SecurityContext 객체를 Session에 담아보낸다. 이후 접근에는 SpringSecurity가 Session에서 인증토큰 존재여부를 확인하여 자원접근을 결정함 Form 인증 방식의 API들은 무엇인가요? Form Login 인증 API http.formLogin() : Form 로그인 인증기능 작동 formLogin()의 하위 API들 loginPage(url) : 사용자 정의..

2.사용자 정의 보안 구현

인증 API 사용자 정의 기능구현 WebSecurityConfigurerAdapter 핵심 객체 : SpringSecurity의 웹 보안 기능 및 초기화 설정을한다. SpringSecurity가 구동되며 WebSecurityConfigurerAdapter 를 초기화한다. WebSecurityConfigurerAdapter 가 HttpSecurity를 생성하여 세부적 보안기능을 설정하는 인증과 인가 API를 제공하는 것이다! 어떻게 설정할 수 있나요? WebSecurityConfigurerAdapter 를 상속하여 사용자 정의 보안클래스를 만드는것이다. 상속 클래스의 메소드중 configure(HttpSecurity) 메서드를 재정의하여 인증이나 인가와 관련된 API를 설정하여 구현한다. import or..

1.스프링 시큐리티와 의존성 추가시에 일어나는 일들.

보안설정 API 와 연계된 Filter들에 대해 학습 각 API의 개념, 기본적인 사용법, API 처리과정, API 동작방식 학습 API 설정 시 생성 및 초기화 되어 사용자의 요청을 처리하는 Filter를 학습한다. SpringSecurity 내부 아키텍쳐 , 각 객체의 역할 및 처리과정을 학습 초기화 과정 , 인증 과정, 인가 과정 등을 아키텍쳐적 관점으로 보자 org.springframework.boot spring-boot-starter-security 의존성 추가시 일어나는 일들 서버 기동시 SpringSecurity의 초기화 작업 및 보안작업이 이루어진다. 별도의 설정이나 구현을 하지않아도 기본적인 웹 보안 기능이 현재 시스템에 연동되어 작용한다. 모든 요청은 인증이 되어야 접근가능하다. 인증..