通用許可權管理概要設計說明書
檔案更改摘要:
日期 |
版本號 |
修訂說明 |
修訂人 |
稽核人 |
批准人 |
2018-10-8 |
1.0 |
建立 |
邊坤鵬 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
目錄
1.1 編寫目的
本文件對通用許可權管理系統的總體設計、介面設計、介面總體設計、資料結構設計、系統出錯處理設計以及系統安全資料進行了說明。
1.2 背景
- 軟體系統的名稱:通用許可權管理系統;
- 任務提出者、開發者:謝星星;
- 在J2EE的web系統中需要使用許可權管理的系統。
1.3 術語
本系統:通用許可權管理系統;
SSH:英文全稱是Secure Shell。
1.4 預期讀者與閱讀建議
預期讀者 |
閱讀重點 |
開發人員 |
總體設計、介面設計、資料結構設計、介面總體設計、系統出錯處理設計 |
設計人員 |
總體設計、介面設計、資料結構設計、系統安全設計 |
1.5 參考資料
《通用許可權管理系統需求規格說明書》
《通用許可權管理系統資料庫設計說明書》
2.1 設計目標
許可權系統一直以來是我們應用系統不可缺少的一個部分,若每個應用系統都重新對系統的許可權進行設計,以滿足不同系統使用者的需求,將會浪費我們不少寶貴時間,所以花時間來設計一個相對通用的許可權系統是很有意義的。
本系統的設計目標是對應用系統的所有資源進行許可權控制,比如應用系統的功能選單、各個介面的按鈕控制元件等進行許可權的操控。
2.2 執行環境
作業系統:Windows系統作業系統和Linux系列作業系統。
2.3 網路結構
通用許可權管理系統可採用Java Swing實現,可以在桌面應用和Web應用系統中進行呼叫。如果需要要適應所有開發語言,可以將其API釋出到WEB Service上。暫時用Java Swing實現。
2.4 總體設計思路和處理流程
在說明總體設計思路前,我們先說明本系統的相關概念:
1. 許可權資源
系統的所有許可權資訊。許可權具有上下級關係,是一個樹狀的結構。下面來看一個例子
系統管理
使用者管理
檢視使用者
新增使用者
修改使用者
刪除使用者
對於上面的每個許可權,又存在兩種情況,一個是隻是可訪問,另一種是可授權,例如對於“檢視使用者”這個許可權,如果使用者只被授予“可訪問”,那麼他就不能將他所具有的這個許可權分配給其他人。
2. 使用者
應用系統的具體操作者,使用者可以自己擁有許可權資訊,可以歸屬於0~n個角色,可屬於0~n個組。他的許可權集是自身具有的許可權、所屬的各角色具有的許可權、所屬的各組具有的許可權的合集。它與許可權、角色、組之間的關係都是n對n的關係。
3. 角色
為了對許多擁有相似許可權的使用者進行分類管理,定義了角色的概念,例如系統管理員、管理員、使用者、訪客等角色。角色具有上下級關係,可以形成樹狀檢視,父級角色的許可權是自身及它的所有子角色的許可權的綜合。父級角色的使用者、父級角色的組同理可推。
4. 組
為了更好地管理使用者,對使用者進行分組歸類,簡稱為使用者分組。組也具有上下級關係,可以形成樹狀檢視。在實際情況中,我們知道,組也可以具有自己的角色資訊、許可權資訊。這讓我想到我們的QQ使用者群,一個群可以有多個使用者,一個使用者也可以加入多個群。每個群具有自己的許可權資訊。例如檢視群共享。QQ群也可以具有自己的角色資訊,例如普通群、高階群等。
針對如上提出的四種物件,我們可以整理得出它們之間的關係圖,如下所示:
總體設計思路是將系統分為組許可權管理、角色許可權管理、使用者許可權管理、組織管理和操作日誌管理五部分。
其中組許可權管理包括包含使用者、所屬角色、組許可權資源和組總許可權資源四部分,某個組的許可權資訊可用公式表示:組許可權 = 所屬角色的許可權合集 + 組自身的許可權。
角色許可權管理包括包含使用者、包含組和角色許可權三部分,某個角色的許可權的計算公式為:角色許可權 = 角色自身許可權。
使用者許可權管理包括所屬角色、所屬組、使用者許可權、使用者總許可權資源和組織管理五部分。某個使用者總的許可權資訊存在如下計算公式:使用者許可權 = 所屬角色許可權合集 + 所屬組許可權合集 + 使用者自身許可權。
組織管理即對使用者所屬的組織進行管理,組織以樹形結構展示,組織管理具有組織的增、刪、改、查功能。
操作日誌管理用於管理本系統的操作日誌。
注意:因為組和角色都具有上下級關係,所以下級的組或角色的許可權只能在自己的直屬上級的許可權中選擇,下級的組或者角色的總的許可權都不能大於直屬上級的總許可權。
2.5 模組結構設計
本系統的具有的功能模組結構如下圖所示:
2.6 尚未解決的問題
無。
3.1 使用者介面(暫略)
3.2 外部介面(暫略)
3.3 內部介面(暫略)
本節將闡述使用者介面的實現,在此之前對頁面元素做如下約定:
序號 |
頁面元素 |
約定 |
1 |
按鈕 |
未選中時:[按鈕名稱] 選中時:[按鈕名稱] |
2 |
單選框 |
○ 選項 |
3 |
複選框 |
□ 選項 |
4 |
下拉框 |
[選項,…,] ▽ |
5 |
文字框 |
|________| |
6 |
TextArea |
|…………| |
7 |
頁籤 |
未選中時:選項名稱 選中時:選項名稱 |
8 |
未選中連結 |
連結文字 |
9 |
選中連結 |
連結文字 |
10 |
說明資訊 |
說明資訊 |
4.1 組許可權管理
4.1.1 包含使用者
組資訊 組1 組11 組12 組… 組2 組21 組22 組…
|
所選擇組:組1 [包含使用者] [所屬角色] [組許可權] [總許可權] [修改] 使用者名稱 姓名 手機號 最近登入時間 登入次數 阿蜜果 謝星星 13666666666 2007-10-8 66 sterning xxx 13555555555 2007-10-8 10 ……
|
當用戶選擇“修改”按鈕時,彈出使用者列表,操作人可以通過勾選或取消勾選來修改該組所包含的使用者。
4.1.2 所屬角色
組資訊 組1 組11 組12 組… 組2 組21 組22 組…
|
所選擇組:組1 [包含使用者] [所屬角色] [組許可權] [總許可權] [修改] 角色ID 角色名稱 角色描述 1 訪客 -- 2 初級使用者 --
|
當用戶選擇“修改”按鈕時,彈出角色樹形結構,操作人可以通過勾選或取消勾選來修改該組所屬的角色。
4.1.3 組許可權
組資訊 組1 組11 組12 組… 組2 組21 組22 組…
|
所選擇組:組1 [包含使用者] [所屬角色] [組許可權] [總許可權]
[儲存] [取消] |
4.1.4 總許可權
組資訊 組1 組11 組12 組… 組2 組21 組22 組…
|
所選擇組:組1 [包含使用者] [所屬角色] [組許可權] [總許可權]
[儲存] [取消] |
通過對已具有的許可權取消勾選,或為某許可權新增勾選,來修改組的許可權資訊,點選“儲存”按鈕儲存修改資訊。
4.1.5 組管理
在下圖中,選中組1的時候,右鍵點選可彈出組的操作列表,包括新增、刪除和修改按鈕,從而完成在該組下新增子組,刪除該組以及修改該組的功能。
組資訊 組1 組11 組12 組… 組2 組21 組22 組…
|
所選擇組:組1 [包含使用者] [所屬角色] [組許可權] [總許可權] [修改] 使用者名稱 姓名 手機號 最近登入時間 登入次數 阿蜜果 謝星星 13666666666 2007-10-8 66 sterning xxx 13555555555 2007-10-8 10 ……
|
4.2 角色許可權管理
4.2.1 包含使用者
角色資訊 角色1 角色11 角色12 角色… 角色2 角色21 角色22 角色…
|
所選擇角色:角色1 [包含使用者] [包含組] [角色許可權] [修改] 使用者名稱 姓名 手機號 最近登入時間 登入次數 阿蜜果 謝星星 13666666666 2007-10-8 66 sterning xxx 13555555555 2007-10-8 10 …… |
當用戶選擇“修改”按鈕時,彈出使用者列表,操作人可以通過勾選或取消勾選來修改該角色所包含的使用者。
4.2.2 包含組
角色資訊 角色1 角色11 角色12 角色… 角色2 角色21 角色22 角色…
|
所選擇角色:角色1 [包含使用者] [包含組] [角色許可權] [修改] 組ID 組名稱 組描述 1 xxx1 -- 2 xxx2 -- …… |
當用戶選擇“修改”按鈕時,彈出使用者列表,操作人可以通過勾選或取消勾選來修改該角色所包含的組。
4.2.3 角色許可權
角色資訊 角色1 角色11 角色12 角色… 角色2 角色21 角色22 角色…
|
所選擇角色:角色1 [包含使用者] [包含組] [角色許可權]
[儲存] [取消] |
通過對已具有的許可權取消勾選,或為某許可權新增勾選,來修改角色的許可權資訊,點選“儲存”按鈕儲存修改資訊。
4.2.4 管理角色
在下圖中,選中組1的時候,右鍵點選可彈出組的操作列表,包括新增、刪除和修改按鈕,從而完成在該組下新增子組,刪除該組以及修改該組的功能。
角色資訊 角色1 角色11 角色12 角色… 角色2 角色21 角色22 角色…
|
所選擇角色:角色1 [包含使用者] [包含組] [角色許可權] [修改] 使用者名稱 姓名 手機號 最近登入時間 登入次數 阿蜜果 謝星星 13666666666 2007-10-8 66 sterning xxx 13555555555 2007-10-8 10 …… |
4.3 使用者許可權管理
4.3.1 所屬角色
使用者許可權資訊 xx公司 廣州分公司 阿蜜果 肖xx yy… 北京分公司 zz1 zz2 zz3…
|
所選擇使用者:阿蜜果 [所屬角色] [所屬組] [使用者許可權] [總許可權] [修改] 角色ID 角色名稱 角色描述 1 訪客 -- 2 初級使用者 -- … |
當用戶選擇“修改”按鈕時,彈出角色樹形結構,操作人可以通過勾選或取消勾選來修改該使用者所屬的角色。
4.3.2 所屬組
使用者資訊 xx公司 廣州分公司 阿蜜果 肖xx yy… 北京分公司 zz1 zz2 zz3…
|
所選擇使用者:阿蜜果 [所屬角色] [所屬組] [使用者許可權] [總許可權] [修改] 組ID 組名稱 組描述 1 組1 -- 2 組2 -- … |
當用戶選擇“修改”按鈕時,彈出組的樹形結構,操作人可以通過勾選或取消勾選來修改該使用者所屬的組。
4.3.3 使用者許可權
使用者資訊 xx公司 廣州分公司 阿蜜果 肖xx yy… 北京分公司 zz1 zz2 zz3…
|
所選擇使用者:阿蜜果 [所屬角色] [所屬組] [使用者許可權] [總許可權]
[儲存] [取消] |
通過對已具有的許可權取消勾選,或為某許可權新增勾選,來修改使用者的許可權資訊,點選“儲存”按鈕儲存修改資訊。
4.3.4 總許可權
使用者資訊 xx公司 廣州分公司 阿蜜果 肖xx yy… 北京分公司 zz1 zz2 zz3…
|
所選擇使用者:阿蜜果 [所屬角色] [所屬組] [使用者許可權] [總許可權]
[儲存] [取消] |
通過對已具有的許可權取消勾選,或為某許可權新增勾選,來修改使用者的許可權資訊,點選“儲存”按鈕儲存修改資訊。
4.3.5 使用者管理
當選擇了某使用者時,點選右鍵,彈出選單列表:修改、刪除、取消,點選修改和刪除按鈕可以實現使用者的刪除和修改功能。
選擇某個組織,例如下表中的“廣州分公司”,彈出選單列表:新增子組織、刪除組織、修改組織、新增使用者、取消,點選新增使用者按鈕可以實現使用者的新增功能。
使用者許可權資訊 xx公司 廣州分公司 阿蜜果 肖xx yy… 北京分公司 zz1 zz2 zz3…
|
所選擇使用者:阿蜜果 [所屬角色] [所屬組] [使用者許可權] [總許可權] [修改] 角色ID 角色名稱 角色描述 1 訪客 -- 2 初級使用者 -- … |
4.3.6 組織管理
選擇某個組織,例如下表中的“廣州分公司”,彈出選單列表:新增子組織、刪除組織、修改組織、新增使用者、取消,點選新增子組織、刪除組織、修改組織按鈕可以實現組織的新增、刪除和修改功能。
使用者許可權資訊 xx公司 廣州分公司 阿蜜果 肖xx yy… 北京分公司 zz1 zz2 zz3…
|
所選擇使用者:阿蜜果 [所屬角色] [所屬組] [使用者許可權] [總許可權] [修改] 角色ID 角色名稱 角色描述 1 訪客 --
|