我能够使用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
}