2016-10-30 1 views
4

http.csrf().disable()으로 가장자리/줄에서 CSRF를 사용하지 못하도록 시도했습니다. 그러나 여전히 csrfFilter는 필터 체인 @ 4 번 위치에서 사용할 수 있습니다. 심지어 spring.enableCsrf: false 속성을 설정했습니다. 아직도 csrfFilter가 시작되고 내 아약스 요청은 403 오류가 발생합니다.spring-cloud : CSRF 사용 안 함

Zuul 및 외부 OAuth 서버 (UAA)에서 CSRF를 비활성화하는 방법은 무엇입니까?

+0

실패한 요청의 스택 추적을 추가 할 수 있습니까? –

+0

프론트 엔드 부품도 올바르게 구성 되었습니까? JQuery와 위해 우리가 할 수 있도록이 같은 것을 구성했다 고르 :'$ .ajaxSetup ({ xhrFields : { withCredentials : 사실, 고르 : 사실, }, 교차 도메인 : 사실, dataType와 'JSON', }); ' – Paizo

+1

@MukulGoel, Paizo 나는이 재판을 오래 전에했다. 그리고 지금은 소스 코드가 없습니다. 답변 해 주셔서 감사합니다. –

답변

0

Configure CSRF Protection 일부 프레임 워크는 사용자의 세션을 무효화하는 잘못된 것으로 CSRF 토큰을 처리하지만, 이것은 자신의 문제가 발생합니다. 대신 기본적으로 Spring Security의 CSRF 보호는 HTTP 403 액세스가 거부되도록 만듭니다. 이것은 InvalidCsrfTokenException을 다르게 처리하도록 AccessDeniedHandler를 구성하여 사용자 정의 할 수 있습니다.

스프링 보안 4.0부터 CSRF 보호는 기본적으로 XML 구성에서 사용 가능합니다. CSRF 보호를 비활성화하려면 해당 XML 구성을 아래에 표시하십시오.

<http> 
    <!-- ... --> 
    <csrf disabled="true"/> 
</http> 

CSRF 보호는 Java 구성에서 기본적으로 사용됩니다. CSRF를 비활성화하려면 해당 Java 구성을 아래에 표시하십시오. CSRF 보호 구성 방법에 대한 추가 사용자 정의는 csrf()의 Javadoc을 참조하십시오.

@EnableWebSecurity 
public class WebSecurityConfig extends 
WebSecurityConfigurerAdapter { 

@Override 
protected void configure(HttpSecurity http) throws Exception { 
    http 
    .csrf().disable(); 
} 
} 
+0

속성 파일로이 작업을 수행 할 수 있습니다. – Rig