今天抽時(shí)間整了一份概念設(shè)計(jì)出來(lái),還有一些地方尚未考慮清楚,貼出1.0版,希望各位朋友提出寶貴建議。
大家也可以點(diǎn)擊此處《通用權(quán)限管理概要設(shè)計(jì)說(shuō)明書》自行下載,這是1.0版本,有些地方可能還會(huì)進(jìn)行部分修改,有興趣的朋友請(qǐng)關(guān)注我的blog。
1. 引言
1.1 編寫目的
本文檔對(duì)通用權(quán)限管理系統(tǒng)的總體設(shè)計(jì)、接口設(shè)計(jì)、界面總體設(shè)計(jì)、數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)、系統(tǒng)出錯(cuò)處理設(shè)計(jì)以及系統(tǒng)安全數(shù)據(jù)進(jìn)行了說(shuō)明。
1.2 背景
a、 軟件系統(tǒng)的名稱:通用權(quán)限管理系統(tǒng);
b、 任務(wù)提出者、開發(fā)者:謝星星;
c、 在J2EE的web系統(tǒng)中需要使用權(quán)限管理的系統(tǒng)。
1.3 術(shù)語(yǔ)
本系統(tǒng):通用權(quán)限管理系統(tǒng);
SSH:英文全稱是Secure Shell。
1.4 預(yù)期讀者與閱讀建議
預(yù)期讀者 |
閱讀重點(diǎn) |
開發(fā)人員 |
總體設(shè)計(jì)、接口設(shè)計(jì)、數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)、界面總體設(shè)計(jì)、系統(tǒng)出錯(cuò)處理設(shè)計(jì) |
設(shè)計(jì)人員 |
總體設(shè)計(jì)、接口設(shè)計(jì)、數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)、系統(tǒng)安全設(shè)計(jì) |
1.5 參考資料
《通用權(quán)限管理系統(tǒng)需求規(guī)格說(shuō)明書》
《通用權(quán)限管理系統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì)說(shuō)明書》
2. 總體設(shè)計(jì)
2.1 設(shè)計(jì)目標(biāo)
權(quán)限系統(tǒng)一直以來(lái)是我們應(yīng)用系統(tǒng)不可缺少的一個(gè)部分,若每個(gè)應(yīng)用系統(tǒng)都重新對(duì)系統(tǒng)的權(quán)限進(jìn)行設(shè)計(jì),以滿足不同系統(tǒng)用戶的需求,將會(huì)浪費(fèi)我們不少寶貴時(shí)間,所以花時(shí)間來(lái)設(shè)計(jì)一個(gè)相對(duì)通用的權(quán)限系統(tǒng)是很有意義的。
本系統(tǒng)的設(shè)計(jì)目標(biāo)是對(duì)應(yīng)用系統(tǒng)的所有資源進(jìn)行權(quán)限控制,比如應(yīng)用系統(tǒng)的功能菜單、各個(gè)界面的按鈕控件等進(jìn)行權(quán)限的操控。
2.2 運(yùn)行環(huán)境
操作系統(tǒng):Windows系統(tǒng)操作系統(tǒng)和Linux系列操作系統(tǒng)。
2.3 網(wǎng)絡(luò)結(jié)構(gòu)
通用權(quán)限管理系統(tǒng)可采用Java Swing實(shí)現(xiàn),可以在桌面應(yīng)用和Web應(yīng)用系統(tǒng)中進(jìn)行調(diào)用。如果需要要適應(yīng)所有開發(fā)語(yǔ)言,可以將其API發(fā)布到WEB Service上。暫時(shí)用Java Swing實(shí)現(xiàn)。
2.4 總體設(shè)計(jì)思路和處理流程
在說(shuō)明總體設(shè)計(jì)思路前,我們先說(shuō)明本系統(tǒng)的相關(guān)概念:
1. 權(quán)限資源
系統(tǒng)的所有權(quán)限信息。權(quán)限具有上下級(jí)關(guān)系,是一個(gè)樹狀的結(jié)構(gòu)。下面來(lái)看一個(gè)例子
系統(tǒng)管理
用戶管理
查看用戶
新增用戶
修改用戶
刪除用戶
對(duì)于上面的每個(gè)權(quán)限,又存在兩種情況,一個(gè)是只是可訪問,另一種是可授權(quán),例如對(duì)于“查看用戶”這個(gè)權(quán)限,如果用戶只被授予“可訪問”,那么他就不能將他所具有的這個(gè)權(quán)限分配給其他人。
2. 用戶
應(yīng)用系統(tǒng)的具體操作者,用戶可以自己擁有權(quán)限信息,可以歸屬于0~n個(gè)角色,可屬于0~n個(gè)組。他的權(quán)限集是自身具有的權(quán)限、所屬的各角色具有的權(quán)限、所屬的各組具有的權(quán)限的合集。它與權(quán)限、角色、組之間的關(guān)系都是n對(duì)n的關(guān)系。
3. 角色
為了對(duì)許多擁有相似權(quán)限的用戶進(jìn)行分類管理,定義了角色的概念,例如系統(tǒng)管理員、管理員、用戶、訪客等角色。角色具有上下級(jí)關(guān)系,可以形成樹狀視圖,父級(jí)角色的權(quán)限是自身及它的所有子角色的權(quán)限的綜合。父級(jí)角色的用戶、父級(jí)角色的組同理可推。
4. 組
為了更好地管理用戶,對(duì)用戶進(jìn)行分組歸類,簡(jiǎn)稱為用戶分組。組也具有上下級(jí)關(guān)系,可以形成樹狀視圖。在實(shí)際情況中,我們知道,組也可以具有自己的角色信息、權(quán)限信息。這讓我想到我們的QQ用戶群,一個(gè)群可以有多個(gè)用戶,一個(gè)用戶也可以加入多個(gè)群。每個(gè)群具有自己的權(quán)限信息。例如查看群共享。QQ群也可以具有自己的角色信息,例如普通群、高級(jí)群等。
針對(duì)如上提出的四種對(duì)象,我們可以整理得出它們之間的關(guān)系圖,如下所示:
總體設(shè)計(jì)思路是將系統(tǒng)分為組權(quán)限管理、角色權(quán)限管理、用戶權(quán)限管理、組織管理和操作日志管理五部分。
其中組權(quán)限管理包括包含用戶、所屬角色、組權(quán)限資源和組總權(quán)限資源四部分,某個(gè)組的權(quán)限信息可用公式表示:組權(quán)限 = 所屬角色的權(quán)限合集 + 組自身的權(quán)限。
角色權(quán)限管理包括包含用戶、包含組和角色權(quán)限三部分,某個(gè)角色的權(quán)限的計(jì)算公式為:角色權(quán)限 = 角色自身權(quán)限。
用戶權(quán)限管理包括所屬角色、所屬組、用戶權(quán)限、用戶總權(quán)限資源和組織管理五部分。某個(gè)用戶總的權(quán)限信息存在如下計(jì)算公式:用戶權(quán)限 = 所屬角色權(quán)限合集 + 所屬組權(quán)限合集 + 用戶自身權(quán)限。
組織管理即對(duì)用戶所屬的組織進(jìn)行管理,組織以樹形結(jié)構(gòu)展示,組織管理具有組織的增、刪、改、查功能。
操作日志管理用于管理本系統(tǒng)的操作日志。
注意:因?yàn)榻M和角色都具有上下級(jí)關(guān)系,所以下級(jí)的組或角色的權(quán)限只能在自己的直屬上級(jí)的權(quán)限中選擇,下級(jí)的組或者角色的總的權(quán)限都不能大于直屬上級(jí)的總權(quán)限。
2.5 模塊結(jié)構(gòu)設(shè)計(jì)
本系統(tǒng)的具有的功能模塊結(jié)構(gòu)如下圖所示:
2.6 尚未解決的問題
無(wú)。
3. 接口設(shè)計(jì)(暫略)
3.1 用戶接口(暫略)
3.2 外部接口(暫略)
3.3 內(nèi)部接口(暫略)
4. 界面總體設(shè)計(jì)
本節(jié)將闡述用戶界面的實(shí)現(xiàn),在此之前對(duì)頁(yè)面元素做如下約定:
序號(hào) |
頁(yè)面元素 |
約定 |
1 |
按鈕 |
未選中時(shí):[按鈕名稱] 選中時(shí):[按鈕名稱] |
2 |
單選框 |
○ 選項(xiàng) |
3 |
復(fù)選框 |
□ 選項(xiàng) |
4 |
下拉框 |
[選項(xiàng),…,] ▽ |
5 |
文本框 |
|________| |
6 |
TextArea |
|…………| |
7 |
頁(yè)簽 |
未選中時(shí):選項(xiàng)名稱 選中時(shí):選項(xiàng)名稱 |
8 |
未選中鏈接 |
鏈接文字 |
9 |
選中鏈接 |
鏈接文字 |
10 |
說(shuō)明信息 |
說(shuō)明信息 |
4.1 組權(quán)限管理
4.1.1包含用戶
組信息 組1 組11 組12 組… 組2 組21 組22 組…
|
所選擇組:組1 [包含用戶] [所屬角色] [組權(quán)限] [總權(quán)限] [修改] 用戶名 姓名 手機(jī)號(hào) 最近登錄時(shí)間 登錄次數(shù) 阿蜜果 謝星星 13666666666 2007-10-8 66 sterning xxx 13555555555 2007-10-8 10 …… |
當(dāng)用戶選擇“修改”按鈕時(shí),彈出用戶列表,操作人可以通過(guò)勾選或取消勾選來(lái)修改該組所包含的用戶。
4.1.2所屬角色
組信息 組1 組11 組12 組… 組2 組21 組22 組…
|
所選擇組:組1 [包含用戶] [所屬角色] [組權(quán)限] [總權(quán)限] [修改] 角色I(xiàn)D 角色名稱 角色描述 1 訪客 -- 2 初級(jí)用戶 --
|
當(dāng)用戶選擇“修改”按鈕時(shí),彈出角色樹形結(jié)構(gòu),操作人可以通過(guò)勾選或取消勾選來(lái)修改該組所屬的角色。
4.1.3組權(quán)限
組信息 組1 組11 組12 組… 組2 組21 組22 組…
|
所選擇組:組1 [包含用戶] [所屬角色] [組權(quán)限] [總權(quán)限]
|
4.1.4總權(quán)限
組信息 組1 組11 組12 組… 組2 組21 組22 組…
|
所選擇組:組1 [包含用戶] [所屬角色] [組權(quán)限] [總權(quán)限]
|
通過(guò)對(duì)已具有的權(quán)限取消勾選,或?yàn)槟硻?quán)限添加勾選,來(lái)修改組的權(quán)限信息,點(diǎn)擊“保存”按鈕保存修改信息。
4.1.5組管理
在下圖中,選中組1的時(shí)候,右鍵點(diǎn)擊可彈出組的操作列表,包括添加、刪除和修改按鈕,從而完成在該組下添加子組,刪除該組以及修改該組的功能。
組信息 組1 組11 組12 組… 組2 組21 組22 組…
|
所選擇組:組1 [包含用戶] [所屬角色] [組權(quán)限] [總權(quán)限] [修改] 用戶名 姓名 手機(jī)號(hào) 最近登錄時(shí)間 登錄次數(shù) 阿蜜果 謝星星 13666666666 2007-10-8 66 sterning xxx 13555555555 2007-10-8 10 …… |
4.2 角色權(quán)限管理
4.2.1包含用戶
角色信息 角色1 角色11 角色12 角色… 角色2 角色21 角色22 角色…
|
所選擇角色:角色1 [包含用戶] [包含組] [角色權(quán)限] [修改] 用戶名 姓名 手機(jī)號(hào) 最近登錄時(shí)間 登錄次數(shù) 阿蜜果 謝星星 13666666666 2007-10-8 66 sterning xxx 13555555555 2007-10-8 10 …… |
當(dāng)用戶選擇“修改”按鈕時(shí),彈出用戶列表,操作人可以通過(guò)勾選或取消勾選來(lái)修改該角色所包含的用戶。
4.2.2包含組
角色信息 角色1 角色11 角色12 角色… 角色2 角色21 角色22 角色…
|
所選擇角色:角色1 [包含用戶] [包含組] [角色權(quán)限] [修改] 組ID 組名稱 組描述 1 xxx1 -- 2 xxx2 -- …… |
當(dāng)用戶選擇“修改”按鈕時(shí),彈出用戶列表,操作人可以通過(guò)勾選或取消勾選來(lái)修改該角色所包含的組。
4.2.3角色權(quán)限
角色信息 角色1 角色11 角色12 角色… 角色2 角色21 角色22 角色…
|
所選擇角色:角色1 [包含用戶] [包含組] [角色權(quán)限] |
通過(guò)對(duì)已具有的權(quán)限取消勾選,或?yàn)槟硻?quán)限添加勾選,來(lái)修改角色的權(quán)限信息,點(diǎn)擊“保存”按鈕保存修改信息。
4.2.4管理角色
在下圖中,選中組1的時(shí)候,右鍵點(diǎn)擊可彈出組的操作列表,包括添加、刪除和修改按鈕,從而完成在該組下添加子組,刪除該組以及修改該組的功能。
角色信息 角色1 角色11 角色12 角色… 角色2 角色21 角色22 角色…
|
所選擇角色:角色1 [包含用戶] [包含組] [角色權(quán)限] [修改] 用戶名 姓名 手機(jī)號(hào) 最近登錄時(shí)間 登錄次數(shù) 阿蜜果 謝星星 13666666666 2007-10-8 66 sterning xxx 13555555555 2007-10-8 10 …… |
4.3 用戶權(quán)限管理
4.3.1所屬角色
用戶權(quán)限信息 xx公司 廣州分公司 阿蜜果 肖xx yy… 北京分公司 zz1 zz2 zz3…
|
所選擇用戶:阿蜜果 [所屬角色] [所屬組] [用戶權(quán)限] [總權(quán)限] [修改] 角色I(xiàn)D 角色名稱 角色描述 1 訪客 -- 2 初級(jí)用戶 -- … |
當(dāng)用戶選擇“修改”按鈕時(shí),彈出角色樹形結(jié)構(gòu),操作人可以通過(guò)勾選或取消勾選來(lái)修改該用戶所屬的角色。
4.3.2所屬組
用戶信息 xx公司 廣州分公司 阿蜜果 肖xx yy… 北京分公司 zz1 zz2 zz3…
|
所選擇用戶:阿蜜果 [所屬角色] [所屬組] [用戶權(quán)限] [總權(quán)限] [修改] 組ID 組名稱 組描述 1 組1 -- 2 組2 -- … |
當(dāng)用戶選擇“修改”按鈕時(shí),彈出組的樹形結(jié)構(gòu),操作人可以通過(guò)勾選或取消勾選來(lái)修改該用戶所屬的組。
4.3.3用戶權(quán)限
用戶信息 xx公司 廣州分公司 阿蜜果 肖xx yy… 北京分公司 zz1 zz2 zz3…
|
所選擇用戶:阿蜜果 [所屬角色] [所屬組] [用戶權(quán)限] [總權(quán)限] |
通過(guò)對(duì)已具有的權(quán)限取消勾選,或?yàn)槟硻?quán)限添加勾選,來(lái)修改用戶的權(quán)限信息,點(diǎn)擊“保存”按鈕保存修改信息。
4.3.4總權(quán)限
用戶信息 xx公司 廣州分公司 阿蜜果 肖xx yy… 北京分公司 zz1 zz2 zz3…
|
所選擇用戶:阿蜜果 [所屬角色] [所屬組] [用戶權(quán)限] [總權(quán)限] |
通過(guò)對(duì)已具有的權(quán)限取消勾選,或?yàn)槟硻?quán)限添加勾選,來(lái)修改用戶的權(quán)限信息,點(diǎn)擊“保存”按鈕保存修改信息。
4.3.5用戶管理
當(dāng)選擇了某用戶時(shí),點(diǎn)擊右鍵,彈出菜單列表:修改、刪除、取消,點(diǎn)擊修改和刪除按鈕可以實(shí)現(xiàn)用戶的刪除和修改功能。
選擇某個(gè)組織,例如下表中的“廣州分公司”,彈出菜單列表:添加子組織、刪除組織、修改組織、添加用戶、取消,點(diǎn)擊添加用戶按鈕可以實(shí)現(xiàn)用戶的添加功能。
用戶權(quán)限信息 xx公司 廣州分公司 阿蜜果 肖xx yy… 北京分公司 zz1 zz2 zz3…
|
所選擇用戶:阿蜜果 [所屬角色] [所屬組] [用戶權(quán)限] [總權(quán)限] [修改] 角色I(xiàn)D 角色名稱 角色描述 1 訪客 -- 2 初級(jí)用戶 -- … |
4.3.6組織管理
選擇某個(gè)組織,例如下表中的“廣州分公司”,彈出菜單列表:添加子組織、刪除組織、修改組織、添加用戶、取消,點(diǎn)擊添加子組織、刪除組織、修改組織按鈕可以實(shí)現(xiàn)組織的添加、刪除和修改功能。
用戶權(quán)限信息 xx公司 廣州分公司 阿蜜果 肖xx yy… 北京分公司 zz1 zz2 zz3…
|
所選擇用戶:阿蜜果 [所屬角色] [所屬組] [用戶權(quán)限] [總權(quán)限] [修改] 角色I(xiàn)D 角色名稱 角色描述 1 訪客 -- 2 初級(jí)用戶 -- … |
4.4 操作日志管理
4.4.1查詢操作日志
操作名稱:|________| 操作人:|________| 操作時(shí)間從 |________| 到 |________| [查詢] [重置] [刪除] 編號(hào) 操作名稱 操作內(nèi)容 操作人 操作時(shí)間 1 xx1 -- Amigo 2007-10-8 2 xx2 -- xxyy 2007-10-8 … |
輸入上圖表單中的查詢信息后,點(diǎn)擊“查詢”按鈕,可查詢出符合條件的信息。
4.4.2刪除操作日志
操作名稱:|________| 操作人:|________| 操作時(shí)間從 |________| 到 |________| [查詢] [重置] [刪除] 編號(hào) 操作名稱 操作內(nèi)容 操作人 操作時(shí)間 1 xx1 -- Amigo 2007-10-8 2 xx2 -- xxyy 2007-10-8 … |
輸入上圖表單中的查詢信息后,點(diǎn)擊“查詢”按鈕,可查詢出符合條件的信息。而后點(diǎn)擊“刪除”按鈕,可刪除符合查詢條件的操作日志。
5. 數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)
數(shù)據(jù)庫(kù)設(shè)計(jì)的模型請(qǐng)參見《通用權(quán)限管理系統(tǒng)_數(shù)據(jù)庫(kù)模型.pdm》。表的說(shuō)明請(qǐng)參見《通用權(quán)限管理系統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì)說(shuō)明書》。
5.1 設(shè)計(jì)原則
5.1.1命名的規(guī)范
數(shù)據(jù)庫(kù)中表、主鍵、外鍵、索引的命名都以統(tǒng)一的規(guī)則,采用大小寫敏感的形式,各種對(duì)象命名長(zhǎng)度不要超過(guò)30個(gè)字符,這樣便于應(yīng)用系統(tǒng)適應(yīng)不同的數(shù)據(jù)庫(kù)平臺(tái)。
5.1.2數(shù)據(jù)的一致性和完整性
為了保證數(shù)據(jù)庫(kù)的一致性和完整性,往往通過(guò)表間關(guān)聯(lián)的方式來(lái)盡可能的降低數(shù)據(jù)的冗余。表間關(guān)聯(lián)是一種強(qiáng)制性措施,建立后,對(duì)父表(Parent Table)和子表(Child Table)的插入、更新、刪除操作均要占用系統(tǒng)的開銷。如果數(shù)據(jù)冗余低,數(shù)據(jù)的完整性容易得到保證,但增加了表間連接查詢的操作,為了提高系統(tǒng)的響應(yīng)時(shí)間,合理的數(shù)據(jù)冗余也是必要的。使用規(guī)則(Rule)和約束(Check)來(lái)防止系統(tǒng)操作人員誤輸入造成數(shù)據(jù)的錯(cuò)誤是設(shè)計(jì)人員的另一種常用手段,但是,不必要的規(guī)則和約束也會(huì)占用系統(tǒng)的不必要開銷,需要注意的是,約束對(duì)數(shù)據(jù)的有效性驗(yàn)證要比規(guī)則快。所有這些,需要在設(shè)計(jì)階段應(yīng)根據(jù)系統(tǒng)操作的類型、頻度加以均衡考慮。
5.2 數(shù)據(jù)庫(kù)環(huán)境說(shuō)明
數(shù)據(jù)庫(kù):MySql5.0
設(shè)計(jì)庫(kù)建模工具:PowerDesigner12.0
5.3 數(shù)據(jù)庫(kù)命名規(guī)則
表名以T開頭,外鍵以FK開頭,索引以INDEX開頭。
5.4 邏輯結(jié)構(gòu)
pdm文件的名稱為:《通用權(quán)限管理系統(tǒng)_數(shù)據(jù)庫(kù)模型》。
5.5 物理存儲(chǔ)
通過(guò)數(shù)據(jù)庫(kù)建模工具PowerDesigner12可以將pdm導(dǎo)出為文本文件,將數(shù)據(jù)庫(kù)腳本放入文本文件中保存。
5.6 數(shù)據(jù)備份和恢復(fù)
數(shù)據(jù)庫(kù)需定期備份(每天備份一次),備份文件格式為backup_yyyyMMdd,數(shù)據(jù)庫(kù)被破壞時(shí),利用最新的備份文件進(jìn)行恢復(fù)。
6. 系統(tǒng)出錯(cuò)處理設(shè)計(jì)
6.1 出錯(cuò)信息
錯(cuò)誤分類 |
子項(xiàng)及其編碼 |
錯(cuò)誤名稱 |
錯(cuò)誤代碼 |
備注 |
數(shù)據(jù)庫(kù)錯(cuò)誤 |
連接 |
連接超時(shí) |
100001001 |
|
連接斷開 |
100001002 |
|||
數(shù)據(jù)庫(kù)本身錯(cuò)誤代碼 |
數(shù)據(jù)庫(kù)本身錯(cuò)誤代碼 |
100002+數(shù)據(jù)庫(kù)錯(cuò)誤代碼 |
||
TCP連接錯(cuò)誤 |
連接 |
連接超時(shí) |
101001001 |
|
連接斷開 |
101001002 |
|||
其它TCP連接錯(cuò)誤(socket自身錯(cuò)誤代碼) |
101002+ socket錯(cuò)誤代碼 |
|||
配置信息錯(cuò)誤 |
未配置輸入?yún)?shù) |
102001 |
||
未配置輸出參數(shù) |
102002 |
|||
組管理部分自定義錯(cuò)誤 |
103001——103999 |
|||
角色管理部分自定義錯(cuò)誤 |
104001——104999 |
|||
用戶管理部分自定義錯(cuò)誤 |
105001——105999 |
|||
操作日志管理 |
106001——106999 |
6.2 補(bǔ)救措施
為了當(dāng)某些故障發(fā)生時(shí),對(duì)系統(tǒng)進(jìn)行及時(shí)的補(bǔ)救,提供如下補(bǔ)救措施:
a.后備技術(shù) 定期對(duì)數(shù)據(jù)庫(kù)信息進(jìn)行備份(每天一次),當(dāng)數(shù)據(jù)庫(kù)因某種原因被破壞時(shí),以最新的數(shù)據(jù)庫(kù)腳本進(jìn)行恢復(fù);。
7. 系統(tǒng)安全設(shè)計(jì)
7.1 數(shù)據(jù)傳輸安全性設(shè)計(jì)
SSH可以通過(guò)將聯(lián)機(jī)的封包加密的技術(shù)進(jìn)行資料的傳遞; 使用SSH可以把傳輸?shù)乃袛?shù)據(jù)進(jìn)行加密,即使有人截獲到數(shù)據(jù)也無(wú)法得到有用的信息。同時(shí)數(shù)據(jù)經(jīng)過(guò)壓縮,大大地加快了傳輸?shù)乃俣取Mㄟ^(guò)SSH的使用,可以確保資料傳輸比較安全并且傳輸效率較高。
7.2 應(yīng)用系統(tǒng)安全性設(shè)計(jì)
操作人的操作信息需要提供操作記錄。對(duì)系統(tǒng)的異常信息需進(jìn)行記錄,已備以后查看。只有授權(quán)用戶才能登錄系統(tǒng),對(duì)于某個(gè)操作,需要具有相應(yīng)權(quán)限才能進(jìn)行操作。
7.3 數(shù)據(jù)存儲(chǔ)安全性設(shè)計(jì)
對(duì)于用戶的密碼等敏感信息采用MD5進(jìn)行加密。