【Shiro】02 shiro.ini檔案分析
阿新 • • 發佈:2020-08-01
【什麼是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封裝成了認證元件