shiro 過濾屬性的意義

2022-02-27 10:47:57 字數 3882 閱讀 9025

今天配置shiro以後css樣式失效了,查了一下配置一下匿名許可權就好

如下shiro.xml

"

filterchaindefinitions

">

/css/*

* = anon

/images/** = anon

/img/** = anon

/js/** = anon

# everything else requires authentication:

/** = authc

springmvc.xml

<

mvc:resources

location

="/resources/"

="/resources/**"

/>

<

mvc:resources

="/css/**"

location

="/css/"

cache-period

="2592000"

/>

<

mvc:resources

="/img/**"

location

="/img/"

cache-period

="2592000"

/>

<

mvc:resources

="/js/**"

location

="/js/"

cache-period

="2592000"

/>

<

mvc:resources

="/images/**"

location

="/js/"

cache-period

="2592000"

/>

<

bean

class

="org.springframework.web.servlet.view.internalresourceviewresolver"

>

<

property

name

="prefix"

value

="/pages/bus/"

>

property

>

<

property

name

="suffix"

value

=".jsp"

>

property

>

bean

>

securitymanager:這個屬性是必須的。

loginurl:沒有登入的使用者請求需要登入的頁面時自動跳轉到登入頁面,不是必須的屬性,不輸入位址的話會自動尋找專案web專案的根目錄下的」/login.jsp」頁面。

successurl:登入成功預設跳轉頁面,不配置則跳轉至」/」。如果登陸前點選的乙個需要登入的頁面,則在登入自動跳轉到那個需要登入的頁面。不跳轉到此。

unauthorizedurl:沒有許可權預設跳轉的頁面

其許可權過濾器及配置釋義

anon:例子/admins/**=anon 沒有引數,表示可以匿名使用。

authc:例如/admins/user/**=authc表示需要認證(登入)才能使用,沒有引數

roles(角色):例子/admins/user/**=roles[admin],引數可以寫多個,多個時必須加上引號,並且引數之間用逗號分割,當有多個引數時,例如admins/user/**=roles["admin,guest"],每個引數通過才算通過,相當於hasallroles()方法。

perms(許可權):例子/admins/user/**=perms[user:add:*],引數可以寫多個,多個時必須加上引號,並且引數之間用逗號分割,例如/admins/user/**=perms["user:add:*,user:modify:*"],當有多個引數時必須每個引數都通過才通過,想當於ispermitedall()方法。

rest:例子/admins/user/**=rest[user],根據請求的方法,相當於/admins/user/**=perms[user:method] ,其中method為post,get,delete等。

port:例子/admins/user/**=port[8081],當請求的url的埠不是8081是跳轉到schemal://servername:8081?querystring,其中schmal是協議http或https等,servername是你訪問的host,8081是url配置裡port的埠,querystring

是你訪問的url裡的?後面的引數。

authcbasic:例如/admins/user/**=authcbasic沒有引數表示httpbasic認證

ssl:例子/admins/user/**=ssl沒有引數,表示安全的url請求,協議為https

user:例如/admins/user/**=user沒有引數表示必須存在使用者,當登入操作時不做檢查

securitymanager:這個屬性是必須的。

loginurl:沒有登入的使用者請求需要登入的頁面時自動跳轉到登入頁面,不是必須的屬性,不輸入位址的話會自動尋找專案web專案的根目錄下的」/login.jsp」頁面。

successurl:登入成功預設跳轉頁面,不配置則跳轉至」/」。如果登陸前點選的乙個需要登入的頁面,則在登入自動跳轉到那個需要登入的頁面。不跳轉到此。

unauthorizedurl:沒有許可權預設跳轉的頁面

其許可權過濾器及配置釋義

anon:例子/admins/**=anon 沒有引數,表示可以匿名使用。

authc:例如/admins/user/**=authc表示需要認證(登入)才能使用,沒有引數

roles(角色):例子/admins/user/**=roles[admin],引數可以寫多個,多個時必須加上引號,並且引數之間用逗號分割,當有多個引數時,例如admins/user/**=roles["admin,guest"],每個引數通過才算通過,相當於hasallroles()方法。

perms(許可權):例子/admins/user/**=perms[user:add:*],引數可以寫多個,多個時必須加上引號,並且引數之間用逗號分割,例如/admins/user/**=perms["user:add:*,user:modify:*"],當有多個引數時必須每個引數都通過才通過,想當於ispermitedall()方法。

rest:例子/admins/user/**=rest[user],根據請求的方法,相當於/admins/user/**=perms[user:method] ,其中method為post,get,delete等。

port:例子/admins/user/**=port[8081],當請求的url的埠不是8081是跳轉到schemal://servername:8081?querystring,其中schmal是協議http或https等,servername是你訪問的host,8081是url配置裡port的埠,querystring

是你訪問的url裡的?後面的引數。

authcbasic:例如/admins/user/**=authcbasic沒有引數表示httpbasic認證

ssl:例子/admins/user/**=ssl沒有引數,表示安全的url請求,協議為https

user:例如/admins/user/**=user沒有引數表示必須存在使用者,當登入操作時不做檢查

Shiro過濾攔截

大致流程 建立realm securitymanager.setrealm realm 建立securitymanager shirofilter.setsecuritymanager securitymanager 當請求符合shirofilter的過濾條件時,會找到securitymanager...

shiro內建過濾器

rest 例子 admins user rest user 根據請求的方法,相當於 admins user perms user method 其中method為post,get,delete等。port 例子 admins user port 8081 當請求的url的埠不是8081是跳轉到sch...

shiro過濾器名稱

功 能配 置 anon 任何使用者傳送的請求都能夠訪問 authc 經過認證的請求可訪問,否則將會將請求重定向到 ini 配置檔案配置的 authc.loginurl 資源,進行認證操作 authc.loginurl login.jsp authc.successurl 認證成功後重定向到此資源 a...