我正在開發一個應用程序,它的前端在 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 回答

素胚勾勒不出你
TA貢獻1827條經驗 獲得超9個贊
所以我發現這是由于 Spring Security 的 Session Fixation 行為,默認情況下處于活動狀態。在 WebSecuirtyConfigurerAdapter 中配置 HttpSecurity http 即可解決問題。只需要添加這個配置。
http.sessionManagement().sessionFixation().none();
添加回答
舉報
0/150
提交
取消