Springboot+Shiro優雅實戰•計劃概述_1

一、目標

  1. 使用springboot搭建一個微服務基本框架;
  2. 使用自定義加解密算法對所有賬號密碼進行加密存儲(包括數據庫賬號密碼、用戶密碼等);
  3. 使用shiro作爲rbac權限集成框架,同時支持賬號密碼登錄和微信認證登錄,且優雅地使用多FormAuthenticationFilter、多Realm分別進行認證;
  4. 使用自定義操作日誌框架,方便日後進一步擴展;
  5. 給出所有源碼,以感謝所有熱情分享技術的網友,包括好學的你;

二、步驟

  1. 實現自定義加解密算法,包括對稱加密算法AES256和非對稱加密算法RSA1024;
  2. 搭建Springboot框架,使用postgreSQL數據庫,集成mybatis/c3p0/fastjson/log4j2,能夠正常啓動和加載;
  3. 自定義操作日誌框架,支持通過註解和調用服務的方式記錄操作日誌到單獨的存儲介質;
  4. 集成jasypt框架,能夠使用自定義AES256加密的數據庫密碼連接數據庫,能夠正常啓動和加載;
  5. 集成自定義的一套rbac表結構,登錄後,後臺能夠通過RSA1024加密的密碼比較,完成認證過程;
  6. 集成shiro框架,登錄認證改寫至shiro框架,通過單FormAuthenticationFilter,單Realm完成登錄過程;
  7. 通過shiro完成會話(緩存)管理和權限管理;
  8. 支持微信小程序Token認證機制,實現多FormAuthenticationFilter,多Realm的認證過程,以此經驗,可任意擴展其它認證方式;

三、計劃

  1. 以上所述目標均已實現。計劃按照以上步驟,每步一篇總結的方式呈現給大家;
  2. 每篇總結會在一週內完成;
  3. 每篇總結的源碼對應一個github maven工程;

四、總結

  1. springboot/shiro等官方文檔寫得比較簡略,分析源碼的收穫會比較大,但我們通常只會用到框架的其中一小部分功能,感覺需要用到的時候再去學效果會更好;
  2. 網上給出的資料部分有疏漏的地方,部分代碼給得不全,對框架產生了不少誤解;
  3. 結合各路大神,總算完成了預期的目標,但是不想大家再走很多誤區,所以在經過實際驗證後,決定開源,並按照由淺入深的思路總結給大家,希望對你有幫助;
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章