在shiro.ini 中配置的結點urls可能是shiro中處理web專案比較核心的部分,在這裡邊配置各個過濾器的規則。
如果你想使用需要在web.xml中配置
shirofilter
org.apache.shiro.web.servlet.shirofilter
/*
可以動態的設定shiro.ini的路徑,一種是寫到配置檔案中,一種是使用程式載入。
在web.xml中可以動態配置shiro.ini的位置
示例如下:
shirofilter
org.apache.shiro.web.servlet.inishirofilter
configpath
/web-inf/anotherfile.ini
還有一種方式是通過應用程式載入
根據示例中的spring-hibernate
配置
設定filterchaindefinitions屬性,就可以將設定中的值動態的載入到對應的ini類中。也可以實現載入配置過濾器的效果。
shiro.ini的[urls]節點
# [main], [users] and [roles] above here
...[urls]
...
節點下的配置資訊如下格式
url_ant_path_expression
= path_specific_filter_chain
示例如下:
...
[urls]
/index.html = anon
/user/create = anon
/user/** = authc
/admin/** = authc, roles[administrator]
/rest/** = authc, rest
/remoting/rpc/** = authc, perms["remote:invoke"]
指定對應的url執行的過濾器鏈。
如果出現下面的這種過濾情況
/account/** = ssl, authc
/account/signup = anon
則下面的預設永遠都不執行,即訪問/account/signup/index.html 的時候,只執行上面的過濾器,不執行下面的。
如果shiro提供的過濾器不能滿足要求,則可以使用自定義的過濾器,設定的規則如下:
[main]
...myfilter = com.company.web.some.filterimplementation
myfilter.property1 = value1
...[urls]
.../some/path/** = myfilter
shiro中預設的過濾器
過濾器名稱
過濾器類
描述anon
org.apache.shiro.web.filter.authc.anonymousfilter
匿名過濾器
authc
org.apache.shiro.web.filter.authc.formauthenticationfilter
如果繼續操作,需要做對應的表單驗證否則不能通過
基本http驗證過濾,如果不通過,跳轉屋登入頁面
logout
org.apache.shiro.web.filter.authc.logoutfilter
登入退出過濾器
nosessioncreation
org.apache.shiro.web.filter.session.nosessioncreationfilter
沒有session建立過濾器
perms
org.apache.shiro.web.filter.authz.permissionsauthorizationfilter
許可權過濾器
port
org.apache.shiro.web.filter.authz.portfilter
埠過濾器,可以設定是否是指定埠如果不是跳轉到登入頁面
http方法過濾器,可以指定如post不能進行訪問等
roles
org.apache.shiro.web.filter.authz.rolesauthorizationfilter
角色過濾器,判斷當前使用者是否指定角色
sslorg.apache.shiro.web.filter.authz.sslfilter
請求需要通過ssl,如果不是跳轉回登入頁
user
org.apache.shiro.web.filter.authc.userfilter
如果訪問乙個已知使用者,比如記住我功能,走這個過濾器
當然也可以設定過濾器的使用或者禁用:
對應的設定如下:
[main]
...# configure shiro's default 'ssl' filter to be disabled while testing:
ssl.enabled = false
[urls]
.../some/path = ssl, authc
/another/path = ssl, roles[admin]
...
基本表單登入
[main]
authc.loginurl = /login.jsp
[urls]
# your login form page here:
login.jsp = authc
在login.jsp中
在不連線資料庫的情況下
[main]
...authc.loginurl = /whatever.jsp
authc.usernameparam = somethingotherthanusername
authc.passwordparam = somethingotherthanpassword
authc.remembermeparam = somethingotherthanrememberme
...
shiro 5 重點研究的urls配置
在shiro.ini 中配置的結點urls可能是shiro中處理web專案比較核心的部分,在這裡邊配置各個過濾器的規則。如果你想使用需要在web.xml中配置 shirofilter org.apache.shiro.web.servlet.shirofilter 可以動態的設定shiro.ini的...
java 陣列2(重點)
intarr for inti 0 i 6 i string str arrays.tostring arr 將陣列arr 轉換為字串 system.out println str 該方法的作用是複製陣列,獲得乙個新陣列 intarr intnewarr1 arrays.copyof arr,4 複...
wait函式 2(重點)
pid t 型別 實際上就是int型 pid t wait int status 引數 status 是乙個整形指標。如果status不是乙個空指標,則終止程序的終止狀態將儲存在該指標所指向的記憶體單元中。如果不關心終止狀態,可以將 status引數設定為null。status 不是null時子程序...