如何在Spring Security中使用内置的X-Auth-Token而不是Spring Session Http C



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

这是针对春季安全和由春季管理的春季会话。

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

添加此内容以生成 X-身份验证令牌

因为 Spring 会验证每个请求中收到的带有 cookie 的 Spring 会话 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
}

最新更新