3

问题:在我们的数据库中,我们有一个表 Users,一个表 Groups,以及一个从用户到组的映射表。然后我们有权限,这些权限在组上。

T_User
USR_UID
USR_Name
USR_PasswordHash


T_Group
GRP_UID
GRP_Name


T_MAP_User_Group
MAP_USRGRP_UID
MAP_USRGRP_USR_UID
MAP_USRGRP_GRP_UID


T_MAP_SitePermission
MAP_STEGRP_UID
MAP_STEGRP_STE_UID
MAP_STEGRP_GRP_UID
MAP_STEGRP_ReadPermission
MAP_STEGRP_WritePermission
MAP_STEGRP_DeletePermission


T_Sites
STE_UID
STE_Name
STE_Location

现在,如果我想将组添加到组(嵌套组,如在 ActiveDirectory 中),我将如何实现这一点,特别是在选择查询中将用户解析为组和权限/权限?

4

2 回答 2

1

您可以为组添加映射表...按照您的约定,它看起来像下面这样:

T_MAP_Group_Group
MAP_GRPGRP_UID
MAP_GRPGRP_PARENT_GRP_UID
MAP_GRPGRP_CHILD_GRP_UID

这允许一个组嵌套在多个父组中......同时允许一个组成为多个子组的父组。

于 2012-12-21T15:35:21.210 回答
0

有许多不同的方法可以处理这个问题,我相信最好的处理方法是创建一个父组到组的关系表。至于如何正确查询来确定权限,我认为还没有足够的信息来确定。如何解决冲突的权限,父组会覆盖子组还是相反?

于 2012-12-21T15:34:31.470 回答