spring security 4 csrf通过xml禁用

Pri*_*pes 23 xml spring-security

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

Pri*_*pes 37

从Spring Security 4.0开始,默认情况下使用XML配置启用CSRF保护.如果要禁用CSRF保护,可以在下面看到相应的XML配置.

<http>
  <!-- ... -->
  <csrf disabled="true"/>
</http>
Run Code Online (Sandbox Code Playgroud)

默认情况下,使用Java配置启用CSRF保护.如果要禁用CSRF,可以在下面看到相应的Java配置.有关如何配置CSRF保护的其他自定义,请参阅csrf()的Javadoc.

@EnableWebSecurity
public class WebSecurityConfig extends
WebSecurityConfigurerAdapter {

@Override
protected void configure(HttpSecurity http) throws Exception {
  http
  .csrf().disable();
}
}
Run Code Online (Sandbox Code Playgroud)

见下文链接 http://docs.spring.io/spring-security/site/docs/4.0.x/reference/htmlsingle/#csrf-configure

  • 其中xml我需要添加`<http> </ http>`来禁用csrf令牌 (2认同)

Vic*_*scu 7

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

xmlns:security="http://www.springframework.org/schema/security",
Run Code Online (Sandbox Code Playgroud)

<security:http>元素内添加

<security:csrf disabled="true"/>
Run Code Online (Sandbox Code Playgroud)


csh*_*olk 6

对于完全的初学者,如果您正在阅读 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>
Run Code Online (Sandbox Code Playgroud)