본문 바로가기

Spring Security4

동시 세션 제어 / 세션 고정 보호 / 세션 정책 동시 세션 제어 현재 동일한 계정으로 인증을 받을 때, 생성되는 세션의 허용 개수가 초과되었을 경우에 어떻게 그 세션을 계속적으로 초과하지 않고 유지할 수 있을까? Spring Security의 동시 세션 제어 전략에는 2가지(이전 사용자 세션 만료 / 현재 사용자 인증 실패) 방식이 있다. http.sessionManagement() : 세션 관리 기능이 작동함 protected void configure(HttpSecurity http) throws Exception { http.sessionManagement() .maximumSessions(1) 최대 허용 가능 세션 수, -1 : 무제한 로그인 세션 허용 .maxSessionsPreventsLogin(true) true : 동시 로그인 차단함, .. 2024. 2. 6.
기본 API & Filter 이해 (3) - Logout, LogoutFilter 인증 API - Logout http.logout() // 로그아웃 기능이 작동함 protected void configure(HttpSecurity http) throws Exception { http.logout()// 로그아웃 처리 .logoutUrl("/logout")// 로그아웃 처리 URL .logoutSuccessUrl("/login")// 로그아웃 성공 후 이동페이지 .deleteCookies("JSESSIONID“, "remember-me") // 로그아웃 후 쿠키 삭제 .addLogoutHandler(logoutHandler())// 로그아웃 핸들러 .logoutSuccessHandler(logoutSuccessHandler()) // 로그아웃 성공 후 핸들러 } Logout 요청의 경.. 2024. 2. 2.
기본 API & Filter 이해 (2) - UsernamePasswordAuthenticationFilter 인증 API - Login Form 인증 UsernamePasswordAuthenticationFilter : Login Form 인증 처리를 하는 filter. 1. 사용자가 인증을 시도하면 UsernamePassWordAuthenticationFilter가 이를 처리 2. AntPathRequestMathcher : 사용자가 요청한 요청정보의 URL이 맞는지 확인 (http.loginProcessingUrl( )로 변경 가능. 디폴트 주소 값은 "/login") 3. Authentication : Authentication 객체를 만들어서, 사용자가 로그인 시 입력한 Username과 Password를 저장 4. AuthenticationManager : 인증 관리자. 위에서 만들어진 인증 객체를 전.. 2024. 2. 2.
기본 API & Filter 이해 (1) 1. 인증 API - 사용자 정의 보안 기능 구현 인증 (Authentication) 사용자의 신원을 검증하는 행위 , 회원가입하고 로그인 하는 것. 인가(Authorization) 사용자에게 특정 리소스나 기능에 액세스할 수 있는 권한을 부여하는 프로세스 Spring Security에는 HttpBasic 인증 방식과 formLogin 인증방식 두 가지 인증방식이 있다. HttpBasic 인증 방식 : Http 프로토콜에서 정의한 기본 인증 방식. formLogin 인증 방식 : 서버에 해당 사용자의 session 상태가 유효한지를 판단해서 처리하는 인증 방식. 2. 인증 API - HttpBasic 인증 • HTTP는 자체적인 인증 관련 기능을 제공하며 HTTP 표준에 정의된 가장 단순한 인증 기법이다.. 2024. 2. 2.