1. 程式人生 > 實用技巧 >【Shiro】02 shiro.ini檔案分析

【Shiro】02 shiro.ini檔案分析

【什麼是INI檔案?】

INI全稱:Initialization File

初始檔案 Window系統副檔名

Shiro 使用時可以連線資料庫,也可以不連線資料庫。

當不使用資料庫時,需要配置Shiro.ini檔案來儲存靜態資料

【內容組成部分】

一、[main]定義全域性變數

1、內建SecurityManager物件

2、操作內建物件時,在[main]中進行配置

[main]
#屬性=值
securityManager.property=value 

myObject = cn.echo42 

#物件屬性=值
securityManager.objectProperty=$myObject 

可以類比為XML檔案配置的:

<bean id="myObject" class="cn.echo42" />

<bean id="securityManager" >
    <property name="物件屬性" value="$myObject"/>    
</bean>

二、[users] 定義賬號資訊

使用者資訊:名稱、密碼、對應角色

[users]

# key表示使用者名稱 value表示密碼
admin=123456

# 如果再密碼後面追加了資訊,則追加的資訊表示我們使用者具備的多個角色
user=133698,role01,role02

三、[roles] 定義角色資訊

即一個角色具備什麼樣的許可權:

[roles]

role01=許可權01,許可權02,...

role02=許可權N1,許可權N2, ...

四、[urls] 定義內建Url資源

1、Authc表示必須認證才允許訪問的路徑

2、Anno表示無需認證,隨意訪問的路徑

3、User表示使用者必須登陸才允許方法的路徑

4、Logout表示登出的路徑

[urls]

# url地址 = 內建filter & 自定義filter
# 訪問時出現/login的url必須去認證,支援authc對應的filter
/login=authc

# 任何的url都不需要認證
/**
=anon # 所有的內容必須保證使用者已經登陸 /**=user # url abc 訪問時必須保證使用者具有role1和role2角色 /abc=roles["role1,role2"]

其實就是我們在JavaWeb中的一個個過濾器,只是Shiro封裝成了認證元件