我正在使用SQLServer 2008编写用户安全模块,因此需要相应地设计数据库。
我正式使用带有UserID,Username和ParentID的Userinfo表来构建一个递归和填充树来表示层次结构,但现在我有以下标准需要开发。
我现在有USERS,ADMINISTRATORS和GROUPS。
用户层次结构中的每个节点都是用户,管理员或组。
对我的应用程序具有登录访问权限的人
可能还管理其所有子用户帐户(及其子级等)的用户这可能包括创建新用户并为这些用户分配权限。用户结构中的管理员数量没有限制。我去的层次结构越高,管理员就有更多的子帐户需要管理,包括其他子管理员。
可以将用户帐户指定为一个组。这将是一个帐户,用于将一个或多个用户组合在一起,以便他们可以作为一个单元进行管理。但没有人可以使用组帐户登录我的应用程序。
这就是我想要创建结构的方式
Super Administrator
administrator
-------------------------------------------------------------
| | |
Manager A Manager B Manager C
(adminstrator) (administrator) (administrator)
|
-----------------------------------------
| | |
Employee A Employee B Sales Employees
(User) (User) (Group)
|
------------------------
| | |
Emp C Emp D Emp E
(User) (User) (User)
现在如何构建表结构来实现这一目标。我是否需要创建Users表以及Group表或什么?
请指导我真的很感激。
答案 0 :(得分:0)
我稍后可能会写一个更完整的答案,但我首先要指出的是,用户确实是管理员的特例,特别是没有子用户的管理员。我可能会考虑到这一点设计用户。