본문 바로가기

Framework/Spring Framework22

[Spring Boot] Spring Security 세션 인증 정책 예제 동시 세션 제어 이전 사용자 세션 만료 현재 사용자 인증 실패 @Override protected void configure(HttpSecurity http) throws Exception { // 세션 관리 기능 작동 http.sessionManagement() .maximumSessions(1) // 최대 허용 가능 세션 수, -1 : 무제한 로그인 세션 허용 .maxSessionsPreventsLogin(true) // 동시 로그인 차단, false : 기존 세션 만료(defualt) .invalidSessionUrl("/invalid") // 세션이 유효하지 않을 때 이동할 URL .expiredUrl("/expired") // 세션이 만료된 경우 이동할 URL } 세션 고정 보호 @Overrid.. 2021. 5. 7.
[Spring Boot] Spring Security Remember Me 인증 개념 세션이 만료되고 웹 브라우저가 종료된 후에도 어플리케이션이 사용자를 기억하는 기능 Remember-Me 쿠키에 대한 Http 요청을 확인한 후 토큰 기반 인증을 사용해 유효성을 검사하고 토큰이 검증되면 사용자는 로그인 된다. HttpSecurity @Override protected void configure(HttpSecurity http) throws Exception { http.rememberMe() .rememberMeParameter("remember") // 기본 파라미터명은 remember-me .tokenValiditySeconds(3600) // default : 14 days // default : false, remember-me 기능이 활성화되지않아도 항상 실행 .always.. 2021. 5. 3.
[Spring Boot] Spring Security 로그아웃 처리 HttpSecurity @Override protected void configure(HttpSecurity http) throws Exception { protected void configure(HttpSecurity http) throws Exception { http.logout() // 로그아웃 처리 .logoutUrl("/logout") // 로그아웃 처리 URL .logoutSuccessUrl("/login") // 로그아웃 성공 후 이동 URL .deleteCookies(" JESSIONID", " remember-me ") // 로그아웃 후 쿠키 삭제 .addLogoutHandler(logoutHandler()) // 로그아웃 후 핸들러 .logoutSuccessHandler(logout.. 2021. 5. 2.
[Spring Boot] Spring Security 로그인 처리 HTTP Security 아래는 configure method에서 구성 가능한 함수들이다. @Override protected void configure(HttpSecurity http) throws Exception { http // Form 로그인 인증 기능 작동 .formLogin() // SpringSecurity에서 기본 Form 로그인 화면 을 제공하지만 // 아래 설정을 하면 사용자 정의 로그인 페이지를 사용할 수 있다. .loginPage("/loginPage") // 로그인 성공 후 이동 페이지 URL .defaultSuccessUrl("/") // 로그인 실패 후 이동 페이지 URL .failureUrl("/login") // Form tag의 name 값, 기본적으로는 username.. 2021. 5. 2.