• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

formLogin - deprecated..

23.07.15 21:56 작성 23.07.15 22:10 수정 조회수 1.11k

0

그래서 해당 강의에서 config 메서드를 제가 구글링 해보면서 해봤는데 인증을 아에 거치질 않네요.. 아래 메서드 한 번 확인해주시고 틀린 부분 있으면 말씀 부탁드립니다..

추가로 앞으로 계속 코드가 달라질 거 같은데 이런 부분은 어떻게 해결해야 하는지.. 계속 구글링 해가면서 해야하는건가요..?

 

@Bean
public SecurityFilterChain filterChain(HttpSecurity http) throws Exception {
http
.authorizeRequests(authorizeRequests ->
authorizeRequests
.anyRequest().authenticated()
)
.httpBasic(withDefaults())
.formLogin(formLogin ->
formLogin
.loginPage("/loginPage")
.defaultSuccessUrl("/")
.usernameParameter("userId")
.passwordParameter("passwd")
.loginProcessingUrl("/login_proc")
.successHandler(new AuthenticationSuccessHandler() {
@Override
public void onAuthenticationSuccess(HttpServletRequest request, HttpServletResponse response, Authentication authentication) throws IOException, ServletException {
System.out.println("authentication : "+ authentication.getName());
response.sendRedirect("/");
}
})
.failureHandler(new AuthenticationFailureHandler() {
@Override
public void onAuthenticationFailure(HttpServletRequest request, HttpServletResponse response, AuthenticationException exception) throws IOException, ServletException {
System.out.println("exception : "+ exception.getMessage());
response.sendRedirect("/login");
}
})
.permitAll()
);
return http.build();
}

답변 1

답변을 작성해보세요.

0

실제로 실행해 보니 정상적으로 인증이 되고 있습니다.

코드에는 문제가 없어 보입니다.

일단

formLogin.loginPage("/loginPage") 구문은 제외하고 실행했습니다.

위 구문은 사용자가 직접 /loginPage url 과 매핑되는 Controller 를 생성하고 프론트단에서 로그인 페이지를 생성해 주어야 합니다.

그렇지 않고 스프링 시큐리티가 제공하는 로그인 폼에서 인증을 하면 정상적으로 처리가 되고 있습니다.

인증이 되지 않는다면 메시지나 화면을 캡처해서 보여 주실 수 있는가요?

그리고 본 강의는 스프링 시큐리티 최신 버전으로 학습할 경우 호환되지 않는 부분이 발생하기 때문에 일단 학습할 때는 해당 강의 버전이나 5.7.x 이하 버전에서 학습하셔서 스프링 시큐리티의 전반적인 흐름과 원리, 처리 과정을 익혀 나가시는 것을 권해 드립니다.

그리고 나서 최신 버전과 다른 점이나 문제가 되는 부분을 체크하면서 정리해 나가는게 좋습니다.

최신 버전을 사용하면 강의내용과 다른 부분을 만났을 때 강의 진도를 나가는데 지장이 생기기 때문에 전체 흐름을 익히는데 시간이 오래 걸리고 더 혼돈스러울 수 있습니다.

질의는 언제든지 답변해 드리오니 참고해 주시면 감사하겠습니다.

ak4686님의 프로필

ak4686

질문자

2023.07.17

앞으로도 개발을 할 때 스프링부트 3.0 이상 버전을 사용할 거 같아서 스프링 시큐리티도 이번에 배울때 최신 버전으로 배우고 싶어서 최신 문법으로 숙지하고 있는데 지식공유자님께서는 그래도 구버전으로 일단 숙지를 하는게 더 나을 거 같다는 의견이신가요?!

알려주시는 방식이나 속도는 너무 괜찮은데 문법이 달라지니 말씀하신 것 처럼 진도 나가는데 지장이 있어서 여쭤봅니다!