shiro對Java web的支援

2021-08-22 18:06:57 字數 2348 閱讀 7717

官網資料

shiro 1.2+ web.xml 配置

org.apache.shiro.web.env.environmentloaderlistenerlistener-class>

listener>

shirofilterfilter-name>

org.apache.shiro.web.servlet.shirofilterfilter-class>

filter>

shirofilterfilter-name>

/*url-pattern>

requestdispatcher>

forwarddispatcher>

includedispatcher>

errordispatcher>

預設情況下,environmentloaderlistener將建立乙個iniwebenvironment例項物件。iniwebenvironment例項需要載入.ini配置檔案,預設情況下會按順序從下面兩個路徑中搜尋載入ini配置檔案,並利用找到的第乙個配置檔案

1./web-inf/shiro.ini

2.classpath:shiro.ini

我們也可以通過引數指定在其它路徑下的.ini檔案

shiroconfiglocationsparam-name>

your_resource_location_hereparam-value>

context-param>

your_resource_location_here的值可以參考如下內容

指定webenvironment例項

param>

shiroenvironmentclassparam-name>

com.foo.bar.shiro.mywebenvironmentparam-value>

param>

web ini 配置

/account/** =ssl, authc
等號(=)左邊是乙個ant格式的路徑,相對路徑

等號(=)右邊是該路徑匹配的過濾器(鏈),格式為:

filter1[optional_config1], filter2[optional_config2], ..., filtern[optional_confign]
filtern是在[main]中定義的過濾器名稱

禁用過濾器

在不移除過濾器的情況下,我們可以通過在[main]中禁用指定的過濾器從而將該過濾器從過濾器鏈中移除

authc.enabled設定為true瀏覽器位址列中輸入localhost:8080進入login.html

shiro內部提供的過濾器

anon:需認證

authc:需要認證成功

perms:許可權認證

roles:角色認證

shiro 如何對非url內容授權

應用系統是基於jackrabbit,使用shiro來做授權與認證。在建模時,很多檔案操作都建立在 documents 下。這些檔案根據型別對不同角色有不同訪問許可權,但在url中無法區分。shiro filter 如下圖 httpmethodpermissionfilter類的方法 這個函式從shi...

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

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

JavaWeb後台JoinColumn的用法理解

今天研究了下 joincolumn的用法,可能有些錯誤,先整理一下.用法例項 manytoone targetentity staff.class joincolumn name auditedstaffid referencedcolumnname staffid private staff au...