shiro 5 重點研究的urls配置

2021-09-08 15:43:23 字數 3466 閱讀 7523

在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時子程序...