Shiro學習筆記(二)

2021-09-27 10:24:33 字數 962 閱讀 3753

基於shiro ,使用ssm框架 進行使用者,角色,許可權維護和管理一套

在ssm框架中,**需要許可權,**寫註解@requirepermission就行。 但是,真正專案開發的時候,這種方式就很有侷限性了,當許可權配置關係發生變化,每次都要修改**,編譯打包重啟系統,這肯定是不能夠被接受的。

所以,最好的方式,還是通過動態配置,哪個給不同的使用者配置不同的角色,許可權,修改之後立馬生效這種方式。 為了實現這個效果,就需要基於url配置的方式來做了。

基於url配置許可權需要自己能夠進行許可權資訊的靈活配置,那麼就需要對許可權資訊一套進行維護。

shiro 基於 url 配置動態許可權

通過url配置來靈活設定許可權,而不是非要在controller裡通過註解來做了。

實現舉例:

增加了兩個方法 needinterceptor,listpermissionurls

為兩個方法 needinterceptor,listpermissionurls 增加了實現

needinterceptor 表示是否要進行攔截,判斷依據是如果訪問的某個url,在許可權系統裡存在,就要進行攔截。 如果不存在,就放行了。

這一種策略,也可以切換成另乙個,即,訪問的位址如果不存在於許可權系統中,就提示沒有攔截。 這兩種做法沒有對錯之分,取決於業務上希望如何制定許可權策略。

listpermissionurls(user user) 用來獲取某個使用者所擁有的許可權位址集合

pathmatchingfilter 是shiro 內建過濾器 pathmatchingfilter 繼承了這個它。

基本思路如下:

1. 如果沒登入就跳轉到登入

2. 如果當前訪問路徑沒有在許可權系統裡維護,則允許訪問

3. 當前使用者所擁有的許可權如果不包含當前的訪問位址,則跳轉到/unauthorized,否則就允許訪問

關於使用ssm框架和spring boot框架整合shiro的部分單獨寫一篇。

Shiro學習筆記

shiro 許可權選單框架.apache shiro是乙個強大而靈活的開源安全框架,它能夠乾淨利落地處理身份認證,授權,企業會話管理和加密。使用者認證 使用者認證,使用者去訪問系統,系統要驗證使用者身份的合法性。最常用的使用者身份驗證的方法 1 使用者名稱密碼方式 2 指紋打卡機 3 基於證書驗證方...

shiro學習筆記

作為乙個要轉後端的人,不了解安全框架怎麼能行呢,最近看了些web專案很多都使用shiro,shiro到底好在 呢?本篇部落格僅作為個人的shiro學習歷程記錄。很多內容參考張開濤先生的 跟我學shiro教程 侵刪。shiro給人的印象是乙個簡單實用的安全框架,相比於spring security,沒...

Shiro學習筆記之Shiro加密

雜湊演算法一般用於生成資料的摘要資訊,是一種不可逆的演算法,一般適合儲存密碼之類的資料,常見的雜湊演算法如 md5 sha 等。一般進行雜湊時最好提供乙個 雜訊,這樣可以使破解密碼的難度變大。以下是md5加密演算法的乙個演示 public class tes 5 此介面提供加密密碼和驗證密碼的功能。...