20.04.15 23:32 작성
·
2.2K
2
import org.springframework.boot.autoconfigure.security.servlet.PathRequest;
import org.springframework.context.annotation.Configuration;
import org.springframework.http.HttpMethod;
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.config.annotation.web.builders.WebSecurity;
import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
@Configuration
@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception{
http.authorizeRequests()
.mvcMatchers("/", "/login", "/sign-up", "/check-email-token"
, "/email-login", "/check-email-login", "/login-link").permitAll()
.mvcMatchers(HttpMethod.GET, "/profile/*").permitAll()
.anyRequest().authenticated();
http.formLogin()
.loginPage("/login").permitAll();
http.logout()
.logoutSuccessUrl("/");
}
...
강의 보면서 진행했을 땐 잘 작동했는데
이후 구현하면서 에러가 발생했습니다.
로그인 수행을 하면 로그인은 되지만 /error로 redirect 되어 화면에는 아래와 같은 에러가 뜹니다.
{"timestamp":"2020-04-15T14:28:16.449+0000","status":999,"error":"None","message":"No message available"}
spring.autoconfigure.exclude=org.springframework.boot.autoconfigure.web.servlet.error.ErrorMvcAutoConfiguration
구글링하면서 위 프로퍼티를 추가하여 해결했지만 /error을 요청하지 않았는데 왜 이런 현상이 발생하는지 이해가 되지 않습니다..
답변 3
1
2020. 04. 17. 07:18
스프링 부트 기본 설정에 따라 요청 처리시 에러가 발생하면 해당 에러 핸드러로 가게 되어있습니다. 어떤 요청이 제대로 처리가 안되는지 웹 브라우저에서 디버거를 열어서 요청을 확인해 보세요. 첫 페이지로 요청을 보내더라도 실제로는 한개만 보내지느게 아니라 이미지 리소스에 대한 요청도 보내지고 다양한 요청이 보내지는데 그 중에 어떤 요청이 실패하는지 찾아야 합니다.