Shiro的INI配置檔案
阿新 • • 發佈:2019-01-06
一、INI檔案簡介
INI配置檔案是一種key/value的鍵值對配置,分為[main]、[users]、[roles]、[urls]四個部分,每一個部分中的key不可重複,#號代表註釋,shiro.ini檔案預設在/WEB-INF/ 或classpath下,shiro會自動查詢,INI配置檔案相當於一個靜態資料庫。
二、四個部分
1、[main]
這部分配置類物件,或設定屬性等操作,內建了根物件,securityManager。
[main] securityManager.屬性=值 key=value securityManager.物件屬性=com.xxx.pojo.People #後面值是字串 peo=com.xxx.pojo.People securityManager.物件屬性=$peo #出現$時才表示是引用物件
2、[users]
定義使用者,密碼及使用者可以具有的角色.
[users]
使用者名稱=密碼,角色1,角色2 #角色部分可以省略.
zhangsan=zs
zhangsan=zs,role1,role2
3、[roles]
定義角色具有的許可權
角色名=許可權名,許可權名
role1=user:insert,user:update
role2=insert,update
role3=user:*
4、[urls]
定義哪個控制器被哪個過濾器過濾
[urls]
控制器名稱=過濾器名稱
/login=authc
/**=anon
三、使用程式碼獲取INI配置檔案
public static void main(String[] args) { // 建立工廠 Factory<SecurityManager> factory = new IniSecurityManagerFactory("classpath:shiro.ini"); // 建立容器 SecurityManager manager = factory.getInstance(); SecurityUtils.setSecurityManager(manager); // 獲取當前的subject Subject subject = SecurityUtils.getSubject(); 。。。。。。 略 }