🌱👮🏿♀️Spring Security (1) - 스프링 시큐리티 시작하기
@Configuration
@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
http
.authorizeRequests()
.anyRequest().authenticated()
;
http
.formLogin() // formLogin 사용
// .loginPage("/loginPage") // security 에서 제공하는 from login 페이지
// 이외 개발자가 개별적으로 만든 페이지 매핑
.defaultSuccessUrl("/") // 로그인 성공시 이동할 url
.failureUrl("/login") // 로그인 실패시 이동할 url
.usernameParameter("userid") // user 필드명 재설정
.passwordParameter("passwd") // 비밀번호 필드명 재설정
.loginProcessingUrl("/login_proc") // from 태그의 action url 변경 | default : login
.successHandler(new AuthenticationSuccessHandler() { // 로그인 성공시 함수 호출
// AuthenticationSuccessHandler 인터페이스를 구현한 것을 넣으면 된다
@Override
public void onAuthenticationSuccess(
HttpServletRequest request,
HttpServletResponse response,
Authentication authentication
) throws IOException, ServletException {
System.out.println("authentication : " + authentication.getName()); // 인증된 객체의 이름 보여주기
response.sendRedirect("/"); // redirect : url "/"
}
})
.failureHandler(new AuthenticationFailureHandler() { // 로그인 실패시 함수 호출
// AuthenticationFailureHandler 인터페이스를 구현한 것을 넣으면 된다
@Override
public void onAuthenticationFailure(
HttpServletRequest request,
HttpServletResponse response,
AuthenticationException exception
) throws IOException, ServletException {
System.out.println("exception : " + exception.getMessage()); // 에러 메세지 출력
response.sendRedirect("/login"); // redirect : url "/login"
}
})
.permitAll() // loginPage 의 접근을 인증없이 허용함
;
}
}
🌱👮🏿♀️Spring Security (4) - RememberMe 인증 (1) | 2022.05.24 |
---|---|
🌱👮🏿♀️Spring Security (3) - Logout 처리, LogoutFilter 동작 순서 (0) | 2022.05.24 |
🌱👮🏿♀️Spring Security (1) - 스프링 시큐리티 시작하기 (0) | 2022.05.23 |
댓글 영역