【发布时间】:2017-05-30 03:34:41
【问题描述】:
我有一个简单的搜索输入:
<form>
<input name="search" />
</form>
只要我添加了th:action,Thymeleaf 就会添加一个隐藏的 CSRF 输入字段,尽管我在这里不需要它。
有没有办法为这个给定的表单禁用这种行为?
【问题讨论】:
我有一个简单的搜索输入:
<form>
<input name="search" />
</form>
只要我添加了th:action,Thymeleaf 就会添加一个隐藏的 CSRF 输入字段,尽管我在这里不需要它。
有没有办法为这个给定的表单禁用这种行为?
【问题讨论】:
你可以添加
<csrf disabled="true"/>
到你的 spring-security.xml 文件,因为 csrf 保护是默认启用的。
所以你的配置文件可能是这样的:
<http auto-config="true" use-expressions="false">
<form-login
login-page="/login"
default-target-url="/index"
login-processing-url="/login"
password-parameter="password"
username-parameter="username"
authentication-failure-handler-ref="authenticationFailureHandler"
<intercept-url pattern="/login" access="IS_AUTHENTICATED_ANONYMOUSLY"/>
<intercept-url pattern="/logout" access="IS_AUTHENTICATED_ANONYMOUSLY"/>
<csrf disabled="true"/>
</http>
【讨论】: