我能够使用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令牌?

最佳答案

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

@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
}

10-07 19:36
查看更多