1設計思路
為了設計一套具有較強可擴展性的用戶認證管理,需要建立用戶、角色和權限等數據庫表,并且建立之間的關系,具體實現如下。
1.1用戶
用戶僅僅是純粹的用戶,用來記錄用戶相關信息,如用戶名、密碼等,權限是被分離出去了的。用戶(User)要擁有對某種資源的權限,必須通過角色(Role)去關聯。
用戶通常具有以下屬性:
ü編號,在系統中唯一。
ü名稱,在系統中唯一。
ü用戶口令。
ü注釋,描述用戶或角色的信息。
1.2 角色
角色是使用權限的基本單位,擁有一定數量的權限,通過角色賦予用戶權限,通常具有以下屬性:
ü編號,在系統中唯一。
ü名稱,在系統中唯一。
ü注釋,描述角色信息
1.3 權限
權限指用戶根據角色獲得對程序某些功能的操作,例如對文件的讀、寫、修改和刪除功能,通常具有以下屬性:
ü編號,在系統中唯一。
ü名稱,在系統中唯一。
ü注釋,描述權限信息
1.4 用戶與角色的關系
一個用戶(User)可以隸屬于多個角色(Role),一個角色組也可擁有多個用戶,用戶角色就是用來描述他們之間隸屬關系的對象。用戶(User)通過角色(Role)關聯所擁有對某種資源的權限,例如
l用戶(User):
UserID UserPwd
1 張三 xxxxxx
2 李四 xxxxxx
……
l角色(Role):
RoleID
01 系統管理員 監控系統維護管理員
02 監控人員 在線監控人員
03 調度人員 調度工作人員
04 一般工作人員 工作人員
……
l用戶角色():
UserID RoleID
1 1 01 用戶“張三”被分配到角色“系統管理員”
2 2 02 用戶“李四”被分配到角色“監控人員”
3 2 03 用戶“李四”被分配到角色“調度人員”
……
從該關系表可以看出,用戶所擁有的特定資源可以通過用戶角色來關聯。
1.5 權限與角色的關系
一個角色(Role)可以擁有多個權限(),同樣一個權限可分配給多個角色。例如:
l角色(Role):
RoleID
01 系統管理員 監控系統維護管理員
02 監控人員 在線監控人員
03 調度人員 調度工作人員
04 一般工作人員 工作人員
……
l權限():
0001 增加監控 允許增加監控對象
0002 修改監控 允許修改監控對象
0003 刪除監控 允許刪除監控對象
0004 察看監控信息 允許察看監控對象
……
l角色權限():
1 01 0001 角色“系統管理員”具有權限“增加監控”
2 01 0002 角色“系統管理員”具有權限“修改監控”
3 01 0003 角色“系統管理員”具有權限“刪除監控”
4 01 0004 角色“系統管理員”具有權限“察看監控”
5 02 0001 角色“監控人員”具有權限“增加監控”
6 02 0004 角色“監控人員”具有權限“察看監控”
……
2.2 數據庫表說明
2.2.1 用戶表()
UserID路線編號varchar(20)
用戶名稱varchar(20)
UserPwd用戶密碼varchar(20)
最后登陸時間
用戶登陸狀態標記int
TickeID驗證票記錄編號varchar(128)
2.2.2 角色表()
RoleID角色編號varchar(20)
角色名稱varchar(20)
角色信息描述varchar(20)
2.2.3 用戶-角色表()
用戶角色編號varchar(20)
UserID用戶編號varchar(20)
RoleID角色編號varchar(20)
用戶角色信息描述varchar(20)
2.2.4 權限表()
編號varchar(20)
權限名稱varchar(20)
息信息描述varchar(20)
2.2.5 角色-權限表(on)
角色權限編號varchar(20)
RoleID角色編號varchar(20)
權限編號varchar(20)
角色權限信息描述varchar(20)
*請認真填寫需求信息,我們會在24小時內與您取得聯系。