shiro視頻教程thymeleaf shiro ehcache入門權限控制
一、thymeleaf模板引擎與shiro整合實現頁面按鈕級權限控制思路
shiro這個權限框架雖然不是spring全家桶中的一員,但是它有著輕量好用易上手的優點,因此在業內還是有很多家公司一直在使用,尤其是做一些企業權限管理系統,它比spring security更加的易用、更加的方便。
雖然shiro可以輕易的做到細粒度的基于url的注解方式的權限控制,在后端這一塊非常的靈活,但是如果到了前端頁面這一塊,想要控制的更細粒度實現按鈕級別的界面控制的話,shiro也無能為力的。
因此就引入了我們本文提到的thymeleaf模板引擎,thymeleaf就是為了配合shiro完成頁面級別的按鈕級別的權限所使用的,也是我們spring boot框架推薦的模板引擎。
只需要在thymeleaf中引入thymeleaf-extras-shiro這個組件就能夠在我們的模板引擎頁面上靈活地使用一些標簽或者自定義一些標簽,從而控制某些按鈕、某些菜單按權限進行顯示或隱藏,至少在頁面級別非常的靈活,值得一提的是,引入這個組件時必須要應用thymeleaf3.x的版本才可以,因為2.x版本與該組件不兼容。
二、shiro與ehcache緩存整合與使用思路分析
在使用shiro進行認證和授權時,有的地方是需要運用緩存的,首先咱們說明,用戶認證這一塊基本是不需要進行緩存的,因為我們在第一次登錄的時候,會拿著用戶名和密碼去后臺數據庫查詢信息,然后再判斷是否登錄成功,畢竟我們只有剛開始第一次登錄的時候才會去數據庫查詢,因此沒有必要做緩存。
實際上主要做緩存的地方是系統的權限信息,因為我們每訪問一個url都會要判斷是否該用戶有此權限,每訪問一次都會要去數據庫查詢一次權限信息,這樣對數據庫的壓力不言而喻,因此在權限這一塊有必要做一下緩存。
本套教程中使用的是ehcache這種緩存機制,使用ehcache這種緩存機制的好處就是它能跟我們的項目完美地融合,而不需要引入第三方的中間件,比如redis,ehcache不會增加項目的難度。
具體的思路就是:當我們第一次需要做權限校驗的時候,realm會到數據庫中將該用戶所屬的權限列表全部查詢出來,然后存儲到ehcache中,當第二次第三次以及以后再需要調用接口進行權限校驗的時候,就會直接到ehcache中拿權限信息進行校驗,而不需要多次的去頻繁請求數據庫,這樣做也是為了保障數據庫的性能以及程序的運行性能。
擴展閱讀:
springboot-thymeleaf中使用shiro動態渲染js代碼
用thymeleaf給shiro:hasPermission拼接權限字符串
shiro使用ehcache實現集群同步和session復制
三、shiro入門權限控制授權視頻教程信息
1、課程大小:1.92GB
2、課程課時:共計22課時
3、播放格式:(mp4視頻格式)百度云網盤在線播放、下載視頻播放器播放、不加密
4、技術架構:spring+shiro+springboot+thymeleaf+ehcache
5、課件說明:教程課程涵蓋素材、代碼、筆記資料
以下是thymeleaf shiro ehcache視頻教程具體課程大綱:
1)構建shiro開發的入門環境
2)配置shiro入門與應用編寫第一個認證實例代碼
3)realm的應用詳解
4)realm完成登錄認證信息的比對
5)密碼后端加密與常用的加密算法解析
6)分別使用數據庫的方式和ini配置文件兩種方式進行認證與授權的代碼編寫
7)分別使用shiro自身提供的realm類與我們在項目中自定義的realm類完成認證與授權
8)SSM大框架與shiro進行整合
9)ssm三大框架與shiro完成統一的完整的登錄認證代碼實例
10)ssm三大框架與shiro完成完整的基于url的權限授權案例
11)在spring框架中使用controller層的注解方式進行授權
12)JSP頁面端如何進行權限的控制授權
13)項目案例中整合與集成ehcachet緩存技術將權限信息進行緩存
14)使用快速開發框架Spring boot整合shiro權限框架
15)引入thymeleaf模板引擎配合shiro完成頁面端按鈕級別的細粒度的權限控制
16)shiro的各個權限過濾器使用與詳解
17)thymeleaf模板引擎頁面端介紹與使用各種標簽以及自定義標簽完成按鈕的顯示和隱藏
圖一:thymeleaf shiro ehcache權限控制授權課程詳情
擴展閱讀:
Springboot+shiro-ehcache 熱部署自動重啟時報錯