Подтвердить что ты не робот

Spring безопасность 4 csrf отключить через xml

Есть ли способ отключить токен CSRF в безопасности spring через конфигурацию XML? Я вижу только java-конфигурацию онлайн.. на основе xml-примеров. Использование spring framework 4.0

4b9b3361

Ответ 1

Как и в случае с Spring Security 4.0, защита CSRF включена по умолчанию, Конфигурация XML. Если вы хотите отключить защиту CSRF, соответствующая конфигурация XML может быть видна ниже.

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

Защита CSRF по умолчанию включена с конфигурацией Java. если ты хотел бы отключить CSRF, соответствующая конфигурация Java может см. ниже. Обратитесь к Javadoc csrf() за дополнительным настройки в настройке защиты CSRF.

@EnableWebSecurity
public class WebSecurityConfig extends
WebSecurityConfigurerAdapter {

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

См. ниже ссылку http://docs.spring.io/spring-security/site/docs/4.0.x/reference/htmlsingle/#csrf-configure

Ответ 2

В вашем контексте .xml, если у вас есть объявление xsd для безопасности:

xmlns:security="http://www.springframework.org/schema/security",

Внутри элемента <security:http> добавьте

<security:csrf disabled="true"/>

Ответ 3

Для начинающих, если вы следуете за Spring путеводителем для начинающих MVC, а затем в security-context.xml файле добавьте строку csrf disabled="true":

  <security:http auto-config="true">
    <security:intercept-url pattern="/products/add"
      access="ROLE_ADMIN" />

    <security:form-login login-page="/login"
      default-target-url="/products/add" 
      authentication-failure-url="/loginfailed" />

    <security:logout logout-success-url="/logout" />

    <security:csrf disabled="true" />
  </security:http>