일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
31 |
- spring security
- 스프링 시큐리티
- 자바
- 객체지향
- Spring
- 약수
- 파이썬
- Python
- 모던 자바 인 액션
- BOJ
- OS
- 문자열
- java
- 다이나믹 프록시
- Junit5
- Reflection
- 운영체제
- test
- 프록시
- 리플렉션
- 스프링
- MST
- CS
- 최소 신장 트리
- 백준
- proxy
- 모던자바
- Deadlock
- redis
- 알고리즘
- Today
- Total
목록Java&Spring/Spring Security (10)
Dev 달팽이 @_''
SessionManagementFilter 세션 관리 인증 시 사용자의 세션정보를 등록 조회, 삭제 등의 세션 이력을 관리 동시적 세션 동일 계정으로 접속이 허용되는 최대 세션수를 제한 세션 고정 보호 인증 할 때마다 세션쿠키를 새로 발급하여 공격자의 쿠키 조작을 방지 세션 생성 정책 Always, If_Required, Never, Stateless ConcurrentSessionFilter 매 요청 마다 현재 사용자의 세션 만료 여부 체크 세션이 만료되었을 경우 즉시 만료 처리 SessionManagementFilter와 연계하여 동시성 체크를 함. session.isExpired() == true 로그아웃 처리 즉시 오류 페이지 응답

동시 세션 제어 동일한 계정으로 로그인 했을 경우, 스프링 시큐리티는 최대 세션 개수 허용 정책을 정할 수 있다. 이전 사용자 세션 만료 : 이전 사용자의 세션을 만료 시키는 방법이다. 사용자 1이 로그인해서 서버에서 세션을 생성해주고, 사용자 2가 같은 계정으로 로그인을 하면 세션을 생성해주는 동시에 이전 사용자 세션을 만료 설정을 한다. 다음 사용자 1이 링크에 접속하면 세션을 만료시킨다. 현재 사용자 인증 실패 : 현재 사용자 인증이 되어있는 상태라면 새로 들어온 인증에 대해 블럭을 시키는 방법이다. 사용자 1이 로그인을 하면 서버는 세션을 생성하고 사용자 2가 같은 계정으로 로그인을 하면 예외를 발생시킨다. http.sessionManagement() : 세션 관리 기능이 작동함 SecurityC..

AnonymousAuthenticationFilter 익명 사용자 인증 처리 필터 익명 사용자와 인증 사용자를 구분해서 처리하기 위한 용도로 사용 화면에서 인증 여부를 구현할 때 isAnonymous()와 isAuthenticated()로 구분해서 사용 인증객체를 세션에 저장하지 않는다.

Remember Me 인증 RememberMeAuthenticationFilter : Authentication이 없는 경우(사용자 세션이 만료되었거나, 끊겨서 더이상 SecurityContext를 찾지 못하는 경우) 혹은 사용자가 RememberMe 쿠키를 가져오는 경우에 필터가 발동. 사용자의 인증을 유지하기 위해 필터가 인증을 시도하고 사용자의 인증을 다시금 받게 만들어서 사용자가 계속해서 서버에 접근할 수 있도록 해줌. RememberMeServices : TokenBasedRememberMeServices와 PersistentTokenBasedRememberMeServices 두 개의 구현체를 가지고 있음. TokenBasedRememberMeServices : 메모리에서 실제로 토큰을 저장한 ..