INI英文名稱(InitializationFile)
INI文件是Window系統配置文件的擴展名.
Shiro的全局配置文件就是.ini文件,ini中數據都是固定數據,后面會用數據庫中數據替代下面users和roles(固定數據部分)
.ini文件內容的語法和.properties類似都是key=value,value格式.
INI文件中包含了四個部分:
1 [main] 主體部分.
這部分配置類對象,或設置屬性等操作.
內置了根對象:securityManager,注意對象名大小寫。
[main] securityManager.屬性=值 key=value securityManager.對象屬性=com.bjsxt.pojo.People #后面值是字符串 peo=com.bjsxt.pojo.People securityManager.對象屬性=$peo #出現$時才表示是引用對象
1 [users]
定義用戶,密碼及用戶可以具有的角色.
[users] 用戶名=密碼,角色1,角色2 #角色部分可以省略. zhangsan=zs zhangsan=zs,role1,role2
1 [roles]
定於角色具有的權限
[roles] 角色名=權限名,權限名 role1=user:insert,user:update role2=insert,update role3=user:*
4[urls] 定義哪個控制器被哪個過濾器過濾.Shiro內置很多過濾器。此部分主要在WEB應用中

anon:不認證也可以訪問。例如:/admin/**=anon
authc:必須認證。
authcBasic:沒有參數時表示httpBasic認證(客戶端認證方式)。
logout:退出。
noSessionCreation:新增Filter,表示沒有Session創建。
perms:判斷是有具有指定權限。例如:/admin/user/**=perms[“per1”,”per2”]。必須同時具有給定權限才可以訪問。如果只有一個權限可以省略雙引號。
port:限制端口。例如:/admin/**=port[8081]。只要請求不是8081端口就重新發送URL到8081端口。
rest:請求方式和權限的簡便寫法。例如:/admin/**=rest[user],相當於/admin/** = perms[user:方式],方式是http請求的方式:post、get等。
roles:判斷是否具有指定權限。/admin/**=roles[role1]
ssl:表示是安全的請求。協議為https
user:表示必須存在用戶。
[urls] 控制器名稱=過濾器名稱 /login=authc /**=anon
