spring security 4 csrf通过xml

时间:2015-07-09 09:02:26

标签: xml spring-security

有没有办法通过XML配置在spring security中禁用CSRF令牌? 我只看到java配置在线..基于xml的例子。使用spring framework 4.0

3 个答案:

答案 0 :(得分:35)

  

从Spring Security 4.0开始,默认情况下启用CSRF保护   XML配置。如果你想禁用CSRF保护,那么   相应的XML配置如下所示。

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

默认情况下,使用Java配置启用CSRF保护。如果你   想要禁用CSRF,相应的Java配置即可   见下文。有关其他信息,请参阅csrf()的Javadoc   有关如何配置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

答案 1 :(得分:7)

在context.xml中,假设您有安全性的xsd声明:

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

<security:http>元素内添加

<security:csrf disabled="true"/>

答案 2 :(得分:2)

对于初学者,如果您正在关注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>