我在我的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'”
答案 0 :(得分:4)
对于Spring Security版本3.2.x,在使用XML配置时,默认情况下禁用CSRF保护。所以只需从配置中删除csrf
元素,它就会关闭。
从版本4开始,默认情况下启用启用 ,因此如果您升级,则需要提供相关代码段。