許可權框架 shiro 授權demo

2022-04-14 05:27:17 字數 1893 閱讀 6486

之前說了許可權認證,其實也就是登入驗證身份

這次來說說shiro的授權

shiro可以針對角色授權,或者訪問資源授權

兩者都行,但是在如今的複雜系統中,當然使用後者,如果你是小系統或者私活的話,前者即可,甚至可以不用,我懂的

好吧,上**:

首先新建乙個ini,登陸資訊以及許可權配置好

1

#使用者2

[users]

3#eric 使用者nathan的密碼是123456,擁有boss以及hr兩個許可權

4 eric=123456

,boss,hr

5 merry=123456

,hr6

7#許可權

8[roles]

9#角色對用資源user來說擁有create以及update許可權

10 boss=user:create,user:update

11#角色對用資源user來說擁有create以及delete許可權

12 hr=user:create,user:delete

13#角色對用資源user來說擁有create許可權

14 tl=user:create

以下**先登陸,後授權,分為角色以及資源

1

@test

2public

void

testauthorization() catch

(authenticationexception e)

20 system.out.println("認證狀態:" +subject.isauthenticated());

21//

認證通過後執行授權

2223

//基於角色的授權

24//

hasrole傳入角色標識

25boolean ishasrole = subject.hasrole("hr");

26 system.out.println("單個角色判斷" +ishasrole);

27//

hasallroles是否擁有多個角色

28boolean hasallroles = subject.hasallroles(arrays.aslist("boss", "hr", "tl"));

29 system.out.println("多個角色判斷" +hasallroles);

3031

//使用check方法進行授權,如果授權不通過會丟擲異常

32//

subject.checkrole("employee");

3334

//基於資源的授權

35//

ispermitted傳入許可權識別符號

36boolean ispermitted = subject.ispermitted("user:create:1");

37 system.out.println("單個許可權判斷" +ispermitted);

3839

boolean ispermittedall = subject.ispermittedall("user:create:1",

40 "user:delete");

41 system.out.println("多個許可權判斷" +ispermittedall);

4243

//使用check方法進行授權,如果授權不通過會丟擲異常

44 subject.checkpermission("items:create:1");

4546 }

這些都是簡單的配置

過後會講講如何配合springmvc spring 以及mybatis進行動態認證授權

許可權框架 shiro 授權demo

之前說了許可權認證,其實也就是登入驗證身份 這次來說說shiro的授權 shiro可以針對角色授權,或者訪問資源授權 兩者都行,但是在如今的複雜系統中,當然使用後者,如果你是小系統或者私活的話,前者即可,甚至可以不用,我懂的 好吧,上 首先新建乙個ini,登陸資訊以及許可權配置好 1 使用者2 us...

shiro框架許可權模組細節

以前登入成功,傳的是username,現在傳employee物件 身份認證 override protected authenticationinfo dogetauthenticationinfo authenticationtoken authenticationtoken throws aut...

shiro許可權框架與spring框架輕鬆整合

shiro是乙個許可權框架,用於管理 的許可權,大到 登入過濾,小到乙個選單或按鈕是否顯示,shiro學習起來非常簡單,以下是shiro的執行流程圖 subject為當前使用者,當它訪問系統的時候,就會經過securitymanager安全管理器,安全管理器類似乙個中轉站,它實際上會讓realm類來...