【问题标题】:Spring Boot, Session SecuritySpring Boot,会话安全
【发布时间】:2017-11-03 14:47:39
【问题描述】:

我在 Spring Boot 设置中有一些资源需要用户进行会话。

现在,这些需要防御的端点都是这个样子的。

  @RequestMapping(value = "/SomeEndpoint", method = RequestMethod.POST)
public ResponseEntity<SomePacket> Foot(@RequestBody Dummy dummy,
                                                           HttpServletRequest request,
                                                           HttpServletResponse response) throws IOException, RestSessionException {
    if (session.getAttribute("clientId") == null) {
        throw new RestSessionException("No Client");
    }

每一个……

我想做的是通过检查会话中的“clientId”来减少整个代码库中的重复量。我读过关于 WebSecurityConfigurerAdapters 的文章,但它们似乎更多地围绕着流畅的界面,而不是围绕着检索会话值。

有谁知道如何检查 WebSecurityConfigurerAdapter 中某些端点的会话属性?

非常感谢任何帮助。

【问题讨论】:

  • 您可以使用拦截器代替添加每个控制器,而该拦截器只能针对某些 URL 或每个请求进行配置。
  • 我非常喜欢拦截器。我想试试看!

标签: java spring spring-mvc session


【解决方案1】:

WebSecurityConfigurerAdapters 是 Spring Security 的实现,它为您的端点提供授权和身份验证功能。有关 WebSecurityConfigurationAdapter 的更多信息,请阅读 this

您的要求可以通过添加过滤器并在 doFilter 方法中应用检查 clientId 所需的逻辑来简单地实现。

【讨论】:

    猜你喜欢
    • 2018-10-21
    • 2022-09-28
    • 1970-01-01
    • 2019-10-02
    • 2014-03-17
    • 2015-08-05
    • 1970-01-01
    • 2018-01-16
    • 2013-12-01
    相关资源
    最近更新 更多