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