shiro頁面使用

2021-08-08 06:36:10 字數 3698 閱讀 3314

例項:

spring-shiro.xml

1

2

3

/admin/repairtype/index = roles["role_admin"]

/admin/user=roles["role_admin"]

/admin/complaint/list= roles["role_service,role_admin"]

jsp頁面:

1

2

3

4

5

6

7

8

9

<shiro:hasrolename="role_admin">

<liclass="user"><ahref="$/admin/user">使用者

<shiro:hasanyrolesname="role_admin,role_service">

<liclass="complaint"><ahref="$/admin/complaint/list">服務

<shiro:hasrolename="role_admin">

<liclass="system"><ahref="$/admin/repairtype/index">系統設定

在使用shiro標籤庫前,首先需要在jsp引入shiro標籤: 1

<%@ taglib prefix="shiro"uri=""%>

1、介紹shiro的標籤guest標籤 :驗證當前使用者是否為「訪客」,即未認證(包含未記住)的使用者。

1

2

3

4

5

hi there!  please login or signup today!

2、user標籤 :認證通過或已記住的使用者。

1

2

3

4

5

welcome back john!  not john? click hereto login.

3、authenticated標籤 :已認證通過的使用者。不包含已記住的使用者,這是與user標籤的區別所在。

1

2

3

4

5

update your contact information.

4、notauthenticated標籤 :未認證通過使用者,與authenticated標籤相對應。與guest標籤的區別是,該標籤包含已記住使用者。 

1

2

3

4

5

please login in order to update your credit card information.

5、principal 標籤 :輸出當前使用者資訊,通常為登入帳號資訊。

1

hello, , how are you today?

6、hasrole標籤 :驗證當前使用者是否屬於該角色。

1

2

3

4

5

administer the system

7、lacksrole標籤 :與hasrole標籤邏輯相反,當使用者不屬於該角色時驗證通過。

1

2

3

4

5

sorry, you are not allowed to administer the system.

8、hasanyrole標籤 :驗證當前使用者是否屬於以下任意乙個角色。 

1

2

3

4

5

you are either a developer, project manager, or administrator.

9、haspermission標籤 :驗證當前使用者是否擁有指定許可權。

1

2

3

4

5

create anewuser

10、lackspermission標籤 :與haspermission標籤邏輯相反,當前使用者沒有制定許可權時,驗證通過。

1

2

3

4

5

create anewuser

shiro 頁面許可權

許可權通過 使用者擁有角色admin和user 使用者擁有許可權user create和user update 使用者擁有許可權user create或abc update 相當於 user subject.getprincipals getusername 登入之後 不在登入狀態時 使用者在沒有r...

shiro註解使用

requiresauthentication 驗證使用者是否登入,等同於方法 subject.isauthenticated 結果為 true時。requiresuser 驗證使用者是否被記憶,user 有兩種含義 一種是成功登入的 subject.isauthenticated 結果為 true ...

shiro預設許可權及頁面標籤

預設過濾器 10個 anon 例子 admins anon 沒有引數,表示可以匿名使用。authc 例如 admins user authc表示需要認證 登入 才能使用,沒有引數 roles 例子 admins user roles admin 引數可以寫多個,多個時必須加上引號,並且引數之間用逗號...