해당 글은 제가 어떤 문제가 일어났었는지, 왜 이렇게 해결했는지에 대한 내용이 없어 잘못된 내용을 전달하고 있다고 생각이 되어 아래 내용은 무시해주시면 감사하겠습니다.
추후 다시 spring security 에서 cors, csrf 에 관한 글을 다시 작성해서 링크를 첨부하도록 하겠습니다
(2021-07-24)
@Override
protected void configure(HttpSecurity http) throws Exception {
http.authorizeRequests()
.antMatchers("/api/users/login")
.permitAll()
.antMatchers("/api/**")
.authenticated();
}
위의 코드를 작성했을 때 실제 /api/users/login
에 요청을 해보면 permitAll()
로 지정해주었어도 원하는 결과를 얻지 못한다. (막힌다는 뜻)
이럴 땐 다음과 같이 configure(WebSecurity)
메소드를 오버라이딩해서 ignoring()
을 호출해 url 을 추가해주면 된다.
아래의 코드를 참고하자.
@Override
protected void configure(HttpSecurity http) throws Exception {
http.authorizeRequests()
.antMatchers("/api/**")
.authenticated();
}
/**
* configure(HttpSecurity) 에서 permitAll 이 먹히지 않을 때
* 다음의 메소드를 오바라이딩해주면 된다.
*
* @param web
*/
@Override
public void configure(WebSecurity web) {
web
.ignoring()
.antMatchers("/api/users/login");
}
정상적으로 요청이 간다.
반응형