我正在开发一个应用程序,它的前端在 Angular 5 中实现,而后端在 Spring Boot 中,我使用 JWT 令牌进行身份验证。我无法弄清楚的问题是,当用户登录时,我在后端的 HttpSession 中设置了 userId,以便在同一用户以后的请求中使用 userId。session.setAttribute("userId", userData.getUsername());如果同一用户以半秒等间隔向后端的 RestControllers 发出请求,则 httpSession 会正确返回,如果我发出非常快的请求,则 httpSession 开始返回 NULL。我正在从各种服务中向 Angular 发出这样的请求。getMyAccountList(){
return this.http.get('/api/account/getMyAccountList');
}
1 回答
![?](http://img1.sycdn.imooc.com/5333a1bc00014e8302000200-100-100.jpg)
素胚勾勒不出你
TA贡献1827条经验 获得超9个赞
所以我发现这是由于 Spring Security 的 Session Fixation 行为,默认情况下处于活动状态。在 WebSecuirtyConfigurerAdapter 中配置 HttpSecurity http 即可解决问题。只需要添加这个配置。
http.sessionManagement().sessionFixation().none();
添加回答
举报
0/150
提交
取消