ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • FORM 인증 - 기본
    SPRING/스프링 시큐리티 2021. 8. 1. 15:21

    기본적인 Form 인증 관련 Config Class

    @Configuration
    @EnableWebSecurity
    public class SecurityConfig extends WebSecurityConfigurerAdapter {
    
        @Override
        protected void configure(HttpSecurity http) throws Exception {
            // 모든 리소스에 대한 인증완료시 접근 허용
            http
                    .authorizeRequests()
                    .anyRequest().authenticated();
            // form Login  사용
            http.formLogin()
                //.loginPage("/loginPage") // 사용자 정의 로그인 페이지
                .defaultSuccessUrl("/") // 로그인 성공 후 이동 페이지
                .failureUrl("/login") // 로그인 실패 후 이동 페이지
                .usernameParameter("userId") // 아이디 파라미터명 설정
                .passwordParameter("passwd") // 패스워드 파라미터명 설정
                .loginProcessingUrl("/login_proc") // 로그인 Form Action Url
                .successHandler(new AuthenticationSuccessHandler() { // 로그인 성공 후 핸들러
                    @Override
                    public void onAuthenticationSuccess(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Authentication authentication) throws IOException, ServletException {
                        System.out.println("authentication" + authentication.getName());
                        httpServletResponse.sendRedirect("/");
                    }
                })
                .failureHandler(new AuthenticationFailureHandler() { // 로그인 실패 후 핸들러
                    @Override
                    public void onAuthenticationFailure(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, AuthenticationException e) throws IOException, ServletException {
                        System.out.println("exception : " + e.getMessage());
                        httpServletResponse.sendRedirect("/login");
                    }
                })
                .permitAll();
        }
    
    }

    'SPRING > 스프링 시큐리티' 카테고리의 다른 글

    세션 정책 및 고정세션 공격방지  (0) 2021.08.03
    remember-me  (0) 2021.08.01
    로그아웃  (0) 2021.08.01
    Security Configuration 클래스 기본 설정  (0) 2021.08.01
    의존성 추가 및 기본 세팅  (0) 2021.08.01
Designed by Tistory.