關於shiro不執行授權方法的原因

2021-08-22 06:20:57 字數 369 閱讀 4126

自己在學習shiro框架時,使用者在登入的時候只執行認證方法而沒有去執行授權dogetauthorizationinfo()方法.剛開始以為是**配置錯誤了,有人說shiro的東西要配到springmvc的配置檔案中,結果發現並沒有什麼用.後來才發現對shiro認證與授權理解錯誤.

shiro並不是在認證之後就馬上對使用者授權,而是在使用者認證通過之後,接下來要訪問的資源或者目標方法需要許可權的時候才會呼叫dogetauthorizationinfo()方法,進行授權.

比如當認證通過後,訪問@requirespermissions註解的目標方法,或者目標頁面中有shiro的許可權標籤,這是shiro就會呼叫dogetauthorizationinfo()方法.

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

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

Shiro學習之Shiro授權的內部處理機制(六)

1 在應用程式中呼叫授權驗證方法 subject的ispermitted 或hasrole 等 2 sbuject的例項通常是delegatingsubject類 或子類 的例項物件,在認證開始時,會委託應用程式設定的securitymanager例項呼叫相應的ispermitted 或hasrol...

shiro使用者授權的時候

在springmvc.xml配置出現the prefix aop for element aop config is not bound.在對系統類的方法進行給使用者授權的時候,在springmvc.xml配置檔案中加入 proxy target class true class org.apach...