Shiro 二 基於 ini 配置檔案

2021-09-03 05:12:53 字數 2626 閱讀 9135

完整 demo

>

>

org.apache.shirogroupid

>

>

shiro-allartifactid

>

>

1.2.5version

>

dependency

>

#定義使用者

[users]

#使用者名稱:z3admin,密碼:12345,角色:admin

z3admin = 12345, admin

#使用者名稱:l4productmanager,密碼:abcde,角色:產品經理

l4productmanager = abcde,productmanager

#定義角色

[roles]

#管理員什麼都能做

admin = *

#產品經理只能做產品管理

productmanager = addproduct,deleteproduct,editproduct,updateproduct,listproduct

#訂單經理只能做訂單管理

ordermanager = addorder,deleteorder,editorder,updateorder,listorder

/**

* 獲取 subject 物件

* shiro 這個安全框架下, subject 就是當前使用者

* @return subject 物件

*/private

static subject getsubject

(user user)

測試登入
/**

* 登入

* @param user

* @return

*/private

static

boolean

login

(user user)

catch

(authenticationexception e)

return subject.

isauthenticated()

;}// ********************== 測試登入 *************************

//登陸每個使用者

for(user user : userlist)

----

----

----

- 測試登入輸出資訊 --

----

-------

z3admin - 登陸成功,用的密碼是:12345

l4productmanager - 登陸成功,用的密碼是:abcde

w5 - 登入失敗,用的密碼是:111

測試是否包含角色
/**

* 是否包含角色

* @param user 使用者

* @param role 角色

* @return

*/private

static

boolean

hasrole

(user user, string role)

// ********************== 測試是否包含角色 ********************

// 判斷能夠登入的使用者是否擁有某個角色

for(user user : userlist)}}

----

----

----

-- 測試是否包含角色輸出資訊 --

----

-------

z3admin - 擁有角色:admin

z3admin - 不擁有角色:productmanager

l4productmanager - 不擁有角色:admin

l4productmanager - 擁有角色:productmanager

測試是否擁有許可權
/**

* 是否擁有許可權

* @param user 使用者

* @param permit 許可權

* @return

*/private

static

boolean

ispermitted

(user user, string permit)

// ********************=== 測試是否擁有許可權 ***************===

// 判斷能夠登入的使用者,是否擁有某種許可權

for(user user : userlist)}}

----

----

----

-- 測試是否擁有許可權的輸出資訊 --

----

-------

z3admin - 擁有許可權: addproduct

z3admin - 擁有許可權: addorder

l4productmanager - 擁有許可權: addproduct

l4productmanager - 不擁有許可權: addorder

Shiro的INI配置檔案

一 ini檔案簡介 ini配置檔案是一種key value的鍵值對配置,分為 main users roles urls 四個部分,每乙個部分中的key不可重複,號代表注釋,shiro.ini檔案預設在 web inf 或classpath下,shiro會自動查詢,ini配置檔案相當於乙個靜態資料庫...

C Windows 服務 《二》INI配置檔案

目錄 1.c windows 服務 一 初入門 2.c windows 服務 二 ini配置檔案 3.c windows 服務 三 timer設定 一 工具 vs2015 net framework4.5。二 操作 1 建立inihelp幫助類 2 豐富幫助類操作 3 windows例項呼叫 三 1...

讀寫配置檔案 ini

配置檔案中經常用到ini檔案,在vc中其函式分別為 其中個引數的意思 lpctstr lpstring 是鍵值,也就是變數的值,必須為lpctstr或cstring型別 lpctstr lpfilename 完整的ini檔案路徑名 lpctstr lpdefaut 如果沒有其前兩個引數值,則將此值賦...