如何在spring security

时间:2016-02-03 08:07:53

标签: java spring spring-mvc spring-security csrf

我在我的spring security xml文件中使用<csrf/>标记用于Web项目。通过这个标签,我必须在jsp页面中使用的每个表单中发送csrf标记。

Spring security xml代码:

    <http auto-config="false" use-expressions="true" disable-url-rewriting="true">

    <intercept-url pattern="/**" access="isAuthenticated()" />

    <form-login
    <!--login tags -->
    </>

    <csrf/>
    </http>

但是有一种情况我不想在jsp页面中为特定表单发送csrf标记,我该怎么办呢。

我在xml文件中使用了以下标记

<http pattern="/specific_url/**">
  <csrf disabled="true"/>
</http>

并出现错误:“ cvc-complex-type.3.2.2:属性'禁用'不允许出现在元素'csrf'

1 个答案:

答案 0 :(得分:4)

对于Spring Security版本3.2.x,在使用XML配置时,默认情况下禁用CSRF保护。所以只需从配置中删除csrf元素,它就会关闭。

从版本4开始,默认情况下启用启用 ,因此如果您升级,则需要提供相关代码段。