自學 Shiro的授權流程 13

2021-07-25 16:14:26 字數 995 閱讀 7379

首先先來看下授權的流程圖在來詳細解釋:

流程如下及斷點:

• 1、首先呼叫 subject.ispermitted*/hasrole* 介面,其會委託給securitymanager,而 securitymanager 接著會委託給 authorizer;

• 2、authorizer是真正的授權者,如果呼叫如ispermitted("user:view"),其首先會通過permissionresolver 把字串轉換成相應的 permission 例項;

• 3、在進行授權之前,其會呼叫相應的 realm 獲取 subject 相應的角色/許可權用於匹配傳入的角色/許可權;

• 4、authorizer 會判斷 realm 的角色/許可權是否和傳入的匹配,如果有多個realm,會委託給 modularrealmauthorizer 進行迴圈判斷,如果匹配如 ispermitted*/hasrole* 會返回true,否則返回false表示授權失敗。

這個就是授權流程的原始碼。自己可以進行試驗下。

接下來,我們來寫乙個例項來測試下吧!

Shiro授權的基本流程

使用者訪問系統資源時的授權流程如下 系統呼叫subject主體物件相關方法將使用者許可權資訊 例如ispermitted 遞交給securitymanager securitymanager將許可權檢測操作委託給authorizer授權管理器物件 authorizer授權管理器將使用者資訊委託給re...

Shiro 認證和授權流程實現

新增shiro框架依賴 org.apache.shiro shiro spring 1.3.2 configuration bean securitymanager public defaultwebsecuritymanager newdefaultwebsecuritymanager bean ...

Shiro進行使用者授權執行流程

1 對subject進行授權,呼叫方法ispermitted permission串 2 securitymanager執行授權,通過modularrealmauthorizer執行授權 3 modularrealmauthorizer執行realm 自定義的customrealm 從資料庫查詢許可...