【问题标题】:how to get csrf token into spring controller?如何将 csrf 令牌放入 spring 控制器?
【发布时间】:2017-04-06 22:32:17
【问题描述】:

我正在尝试从带有基于 xml 配置的 spring 4 的 REST 控制器返回 CSRF 令牌。

我试过这个:

@RestController
public class Somecontroller{
@RequestMapping("/csrf")
public CsrfToken csrf(CsrfToken token) {
    return token;
}
}

但我只是得到一个 404。我错过了什么? 其他一切正常,因为我最初可以登录。

【问题讨论】:

  • 您是否启用了@EnableWebSecurity?
  • How to access Spring CSRF 可能重复。
  • 我正在使用基于xml的spring安全配置(不是基于注释的),从我在网上阅读的内容来看,它应该被启用。此外,链接的问题是关于将令牌从客户端发送到服务器。我需要让客户知道令牌的价值。我读到控制器应该能够将令牌作为映射方法的参数获取,但是当我添加此类方法并尝试访问它时,出现 404 状态错误。

标签: spring spring-security csrf spring-4


【解决方案1】:

我正在寻找一种方法来通知客户 csrf 值。 我已经看到了从名为“_csrf”的会话属性中读取 csrf 的示例。这让我觉得很奇怪,而且将来很容易被改变。

但是我最终还是这样做了。

【讨论】:

  • 我看到一些用户使用CsrfToken requestToken = (CsrfToken) request.getAttribute(CsrfToken.class.getName());
猜你喜欢
  • 2017-06-16
  • 2015-04-17
  • 2016-10-29
  • 1970-01-01
  • 2016-05-03
  • 2015-10-27
  • 2013-03-27
  • 2018-11-04
  • 2014-07-18
相关资源
最近更新 更多