第四章 系統架構及實作
第二節 實作系統
為驗證本論文提出之以詮釋資料為基礎之存取控制機制,本論文實作一套含 有以詮釋資料為基礎的存取控制機制之數位圖書館(以下稱為本系統),使用的方 法如同瀏覽一般的網站,但是當點選到特定物件時,系統便會根據使用者登入的 身份和點選的物件決定是否給予存取權力,或者提供適當的錯誤訊息。開發本系 統之硬體配備為 Intel Pentium III 1.13Ghz×2、系統記憶體 512MB,作業系統為 Microsoft Windows 2000 Server,使用 Microsoft .NET Framework 1.1 作為軟體開 發工具。為便於說明起見,在此建立了一個包含 9 個使用者(如表 6)、23 個數位 物件(如表 7)(包含蘇森墉和楊英風的作品)及 9 個授權(如表 8)的虛擬使用環境,
這 9 個授權所描述的為一個具備存取控制機制的數位圖書館,其中,所有的交大 學生可以觀賞低解析度的圖檔和影片(1,4,參照表 8 之 ID),而交大教授和資科 系的學生不受此限(2,3,5,6),但交大外文系的使用者則都不能觀看影片(8),而蘇 森墉的作品則都可以給交大的使用者使用(7),另有一條規定明確指出交大學生 不能觀看高解析度的影片(9)。此外,我們尚利用使用者 aloha 和物件 M002001s 作為 Undef 的測試,所以有 Undef (school=’NCTU’) = {aloha}和
Undef (medium=’WMV’) = {M002001s}的關係。
使用者 ID 學校 系所 職業 年齡
aloha CIS Graduate 25
nctu1 NCTU CSIE Undergraduate 20
nctu2 NCTU FL Undergraduate 22
nctu3 NCTU CIS Professor 40
nctu4 NCTU FL Graduate 21
nthu1 NTHU CS Graduate 24
nthu2 NTHU PME Undergraduate 20
nthu3 NTHU EE Professor 45
ntu1 NTU EE Undergraduate 21
表 6: 實作系統使用者範例
物件 ID 物件名稱 作者 作詞 作曲 編曲 媒體類型 解析度
SP002005s 天烏烏 林福裕 福佬民謠 蘇森墉 JPG low
SP002005 天烏烏 林福裕 福佬民謠 蘇森墉 JPG high
SP003001 新竹中學校歌 辛志平 蘇森墉 蘇森墉 JPG high
TMP0092 緣慧潤生 楊英風 JPG high
M002001 謊歌 佚名 蘇森墉 蘇森墉 WMV 384kbps
M002001s 謊歌 佚名 蘇森墉 蘇森墉
TMPV001 繪畫及銅雕系列創作精選 楊英風 WMV 384kbps
TMPV001s 繪畫及銅雕系列創作精選 楊英風 WMV 56kbps
表 7: 實作系統物件範例(僅含部分物件)
ID 使用者身份 物件詮釋資料 權力 正/負向
1 school='NCTU' medium='WMV'^bitrate='56kbps' View Positive 2 school='NCTU'^occupation='Professor' medium='WMV' View Positive 3 school='NCTU'^department='CIS' medium='WMV' View Positive 4 school='NCTU' medium='JPG'^resolution='low' View Positive 5 school='NCTU'^occupation='Professor' medium='JPG' View Positive 6 school='NCTU'^department='CIS' medium='JPG' View Positive
7 school='NCTU' creator='蘇森墉' View Positive
8 school='NCTU'^department='FL' medium='WMV' View Negative 9 school='NCTU' medium='WMV'^bitrate='384kbps' View Negative
表 8: 實作系統授權範例
關於使用者身份的識別,常用的方法如利用帳號管理或是從上站來源來作判 斷,本系統採用帳號來管理,每個使用者利用專有的密碼登入本系統,登入畫面 如圖 19 所示:
圖 19: 登入畫面
使用者登入後,即可進入本系統的瀏覽畫面,如圖 20 所示:
圖 20: 數位圖書館瀏覽畫面
點選物件將會產生存取要求,經由系統送入存取控制模組,若所投影出的授權數 為 0,也就是發生演算法 4.1 步驟 7 的情形時,根據保守的原則,系統拒絕該使
用者的存取要求,並顯示適當的錯誤訊息。例如使用者 ntu1 點選了任一物件時,
因為授權資料庫中並沒有適用於 ntu1 的授權,系統會拒絕 ntu1 操作該物件。拒 絕存取的畫面如圖 21 所示:
圖 21: 拒絕存取畫面 I
而若為演算法 4.1 步驟 5 或步驟 6 的情形,當採用正向授權,則系統會將物件呈 現在瀏覽畫面中,例如當使用者 nctu3 點選物件 SP003001 時,依據授權 5 所述,
nctu3 可以瀏覽該物件,結果如圖 22 所示;當採用負向授權,則系統會帶出錯誤 訊息,告知使用者依據哪條授權而拒絕該存取要求,例如當使用者 nctu2 點選物 件 M002001 時,依據授權 8 所述,nctu2 不可以瀏覽該物件,結果如圖 23 所示。
圖 22: 瀏覽結果畫面
圖 23: 拒絕存取畫面 II
在系統管理介面中,允許系統管理者新增、刪除或修改授權,以新增授權為 例,在 Credential specification 欄位輸入所欲控制使用者身份描述或識別 ID;在 Entity specification 欄位輸入所欲控制物件詮釋資料表示式或識別 ID;Privilege 欄位選擇給予的權力;而在 Sign 欄位指定此為正向或負向授權。新增授權畫面 如圖 24 所示:
圖 24: 新增授權畫面
另外在管理介面另一個重要的功能為執行預先計算,以表 6、表 7 和表 8 為例,
執行預先計算結果如表 9 所示,以 ID=1 之授權為例,套用此授權的使用者有 nctu1、nctu2、nctu3 和 nctu4 這四人;物件則有 M002005s、M004002s、TMPV001s 和 TMPV002s。
ID Denoted Users Denoted Objects 1 nctu1;nctu2;nctu3;
nctu4
M002005s;M004002s;TMPV001s;TMPV002s
2 nctu3 M004002;M002005;M002005s;M002001;M004002s;TMPV001;
TMPV001s;TMPV002;TMPV002s
3 nctu3 M004002;M002005;M002005s;M002001;M004002s;TMPV001;
TMPV001s;TMPV002;TMPV002s 4 nctu1;nctu2;nctu3;
nctu4
SP002005s
5 nctu3 SP002005s;TMP0092;SP002005;SP003001;SP002001;SP003002;
SP004002;SP003005;TMP0080;TMP0086;TMP0145;TMP0330;TMP0304 6 nctu3 SP002005s;TMP0092;SP002005;SP003001;SP002001;SP003002;
SP004002;SP003005;TMP0080;TMP0086;TMP0145;TMP0330;TMP0304 7 nctu1;nctu2;nctu3;
nctu4
M004002;M002005;M002005s;M002001;M002001s;M004002s;
SP002005s;SP002005;SP003001;SP002001;SP003002;SP004002;SP00300 5
8 nctu2;nctu4;aloha M004002;M002005;M002005s;M002001;M004002s;TMPV001;
TMPV001s;TMPV002;TMPV002s;M002001s 9 nctu1;nctu2;nctu3;
nctu4;aloha
M004002;M002005;M002001;TMPV001;TMPV002;M002001s
表 9: 預先計算結果