【问题标题】:How to use In-Built X-Auth-Token In Spring Security instead of Spring Session Http Cookie如何在 Spring Security 中使用内置 X-Auth-Token 而不是 Spring Session Http Cookie
【发布时间】:2019-06-06 23:53:37
【问题描述】:

我能够使用 Spring Security 生成 HTTP 会话 Cookie,还能够通过添加相同的 bean 来生成 X-Auth 令牌,但无法使用后续请求验证从客户端接收到的 X-Auth 令牌。

这适用于 Spring 管理的 Spring Security 和 Spring Session。

    @Bean
    public HttpSessionIdResolver httpSessionIdResolver() {
        return HeaderHttpSessionIdResolver.xAuthToken(); 
    }

添加此项以生成 X-Auth 令牌

当 Spring 验证在每个请求中收到的带有 cookie 的 Spring Session id 时。同样,我们如何验证从客户端收到的 X-Auth 令牌?

【问题讨论】:

    标签: java spring-boot spring-security


    【解决方案1】:

    在控制器(方法)标头中添加以下内容。

    @RequestHeader(value = "x-auth-token", required = false)  String xAuthToken
    

    使用代码验证标头。

    // Validate x-auth-token if it's provided
    if (xAuthToken != null
        && !xAuthToken.isEmpty()
        && !request.getSession().getId().equals(xAuthToken)) {
     // Session is not valid
    }else{ 
    // session is valid
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-05-13
      • 2021-10-15
      • 2019-10-15
      • 2016-09-10
      • 2016-11-07
      • 2015-02-11
      • 2018-01-26
      • 2019-06-24
      相关资源
      最近更新 更多