如何在spring security 3.2中为每个请求实现csrf . 目前它是按会话处理的 . 这是必须要求的
请发布需要执行的更改 .
在securitycontext.xml中
<http> <csrf /> </http>
给出并且应用程序正在使用每个会话的令牌
您可以通过提供自己的此接口实现来更改CsrfTokenRepository的默认实现,并将其配置为:
<http> <csrf token-repository-ref="myRequestCsrfTokenRepository"/> </http> <b:bean id="myRequestCsrfTokenRepository" class="com.company.security.RequestCsrfTokenRepository"/>
但是......虽然您写道这是必须要求的,但您应该再次重新考虑它 . 我甚至建议尝试说服另一端,这种变化可以为应用程序用户带来更多安全性,但也会带来很多不便,有时会出现奇怪的行为,并且通常会降低可用性和用户体验 . 例如 . 见Different csrf token per request in Spring security
1 回答
您可以通过提供自己的此接口实现来更改CsrfTokenRepository的默认实现,并将其配置为:
但是......虽然您写道这是必须要求的,但您应该再次重新考虑它 . 我甚至建议尝试说服另一端,这种变化可以为应用程序用户带来更多安全性,但也会带来很多不便,有时会出现奇怪的行为,并且通常会降低可用性和用户体验 . 例如 . 见Different csrf token per request in Spring security