不會寫開頭,就這樣吧~
我想讓使用這個驗證組件開發者配置越少越好
所以我使用了註解 類似於springboot的自動裝配類
創建@EnableSecurityAuth註解作用於在application類上
用@Import來注入SecurityAuthAutoConfiguration類
SecurityAuthAutoConfiguration是用來注入校驗token的Filter
當配置文件中只需要生成token不需要校驗則禁用過濾器
讀配置文件中信息 只用uri uriList是uri根據“,”轉換得到的用於做地址匹配
SecurityAuthFilter類 很簡單 校驗是否當前uri是否在uriList中,再從header中獲取token交給tokentask去校驗校驗成功了就繼續否則直接返回
接下來是tokentask類 一個定時任務不斷的獲取新的token,然後本地保存遠程存儲保存一份,校驗用遠程的保存的token,使用用本地的token
也可以在refreshToken中連接統一的auth2.0得到token保存保存到本地,check方法調用auth2的校驗
整個流程 項目啓動 跑一個定時器 不斷獲取(創建)新的token,本地和遠端各存一份,發送請求用本地的token,校驗token就檢查遠端是否存在。
SecurityAuthAutoConfiguration用@ComponentScan主要是爲了加載定時任務tokenTask
部分代碼文件