今天在搞jwt的時候,出現一系列的問題。
說明問題。就是用戶登錄過後,會給用戶生成一個token。用戶以後發出請求,就需要用戶攜帶這個token。但是用戶傳過來token的時候,卻進不去我的jwt過濾器。這就很苦惱。但是最終還是發現了問題所在,廢話不多說,直接上代碼
// 基於Token不需要session
http.sessionManagement().sessionCreationPolicy(SessionCreationPolicy.STATELESS);
// 禁用緩存
http.headers().cacheControl();
// 添加JWT過濾器
http.addFilter(new JWTAuthenticationTokenFilter(authenticationManager()));
這一段配置需要配置在繼承WebSecurityConfigurerAdapter的一個配置類中
首先我們需要基於Token不需要session,其次 禁用緩存,最終在進行添加JWT過濾器,這個時候用戶傳的token,纔會進入到我們的JWT過濾器中。
注意 JWTAuthenticationTokenFilter這個類的作用是 JWT接口請求校驗攔截器
請求接口時會進入這裏驗證Token是否合法和過期 它需要繼承自BasicAuthenticationFilter這個類。
這輩子堅持與不堅持都不可怕,怕的是獨自走在堅持的道路上! | |
---|---|
歡迎加入技術羣聊