复杂系统中用户权限数据库设计方案

复杂系统中用户权限数据库设计方案
B / S系统比C / S的权威,C/S系统由于其特殊的客户端,所以用户可以访问权限检测由客户端或客户端+服务器检测实现的,和B / S,浏览器是每台电脑都有,如果我们不建立一个完整的检验机构,非法用户可能通过浏览器可以方便的访问在B/S系统的所有功能。因此,B/S的业务系统需要一个或多个权限系统实现访问权限检测,使授权用户使用授权功能正常和合法的,和那些未经授权的非法用户将完全拒绝他们。让我们来看看如何设计一个满足大多数用户的功能权限和特权制度控制系统在B/S系统中的应用。
需求表

对于不同职责的人,系统操作的权限应该是不同的。优秀的业务系统,这是最基本的功能。

权限可以被分配到组。对于一个大的业务系统,如果管理员要求来分配系统操作权限的员工一个接一个,它是费时和不方便。所以,在该系统中,集团化经营理念的提出,都有相同的权利的人被安排在同一组,然后对组的权限分配。

权限管理系统应该是可扩展的,它应该被添加到任何系统的权限管理功能,如元件可以重复使用,而不是开发一个管理系统,它是必要的权限管理部分的开发。

满足业务系统中的功能权限,在传统业务系统中,有两种权限管理,一种是对权限的管理,另一种是对资源权限的管理。在不同的系统中,功能权限可以重用,而资源权限不能被重用。
关于设计
随着NoahWeb的行动规划的概念的帮助下,在设计阶段,系统设计人员不需要考虑程序结构的设计,但从程序流程和数据库结构。为了实现这一要求,数据库的设计是非常重要的。无论是集团经营的概念,还是整个权限管理系统的重用,都是数据库的设计。
让我们首先分析数据库结构:
首先,动作表(以下简称权限表),该rupmanager表(以下简称管理组表),与主表(以下简称人员表)三个实体表,记录许可反过来的信息,和信息管理人员的组信息如下:

这三个表之间的关系是多对多的,一个权限可能属于多个管理组在同一时间,和一个管理组也可以包含多个权限,在同一时间,以同样的方式,一个人可能属于多个管理组在同一时间,和一个管理组可以在同一时间包含多人。如下:

由于这三个表之间有多对多的关系,它们之间的交互最好用另外两个表来完成。这两个表起映射作用。他们是actiongroup表(以下简称权限映射表)和主群表(以下简称人员映射表)。前者映射权限表与管理组表之间的交互,后者映射工作人员表和管理组表之间的交互:

此外,左侧还需要一个表右栏菜单来控制系统的操作,也就是权限列表,如下所示:

根据以上分析,我们进行了数据库结构的设计,如下所示:
单击此处查看权限管理系统数据表字段的设计。
为了进行良好的分析,我们对数据库结构图进行了拆分。三个实体表的作用非常明确。现在让我们看一下两个映射表的函数
权限映射表如下所示:
首先,让我们了解权限映射表和管理组表和权限表之间的字段关联

图中的红圈与路彼得领域相关,这在实际的数据库如下图:

如图所示,在管理组表超级管理员的GroupID 1,然后在权限映射表的GroupID的权限是1,即,超级管理员有权。
groupId场协会是用来找出哪些权限,管理组可以执行。但这些权限的详细信息是由行动领域的关联查询
数据库中关联的动作字段的性能如下:

这个关联可以用来在权限映射表中查询这些权限的细节,我们知道管理组可以执行哪些权限,这些权限的细节是什么。
也许你会问,为什么你不使用actionid场有关因为:

权限表中的id字段可能在若干数据库操作之后发生更改。

权限映射表只记录管理组可以执行的权限。

一旦权限表中的ID发生变化,权限映射表中的记录就会更改。

管理组不太可能执行一定会出错的权限。
鉴于上述情况,它应该与动作字段相关联,因为:

在权限表中,ID可能会改变,动作字段在任何情况下都不会改变。

在权限映射表中记录的动作字段不会改变。

管理组可以执行的权限不会出错。
两个工作人员映射表如下所示:
让我们看看工作人员映射表和管理组表和工作人员表之间的字段关联,如下所示:
图片中的红圈部分,先看GroupID场协会,这是在数据库,如下图:

如图所示,这个超级管理员组的GroupID 1。让我们看一下人员映射表。admin属于超级管理员组,管理员属于超级管理员组,也属于管理员组。
这个协会是用来找出谁是在一个管理组。以上人员的资料查询的ID字段关联(在人员映射表MasterID场)。
id字段(在人员映射表MasterID场)是在数据库在以下表格形式显示

一个人可能同时属于多个管理组,如图所示,管理员同时属于两个管理组,因此,在人员映射表上的管理员记录将是两个。
此关联可用于查询管理组中的工作人员的详细信息。
结合上面提到的权限表和权限映射表,需求中的组操作如下所实现:

事实上,管理组表只记录了该集团的基本信息,如名称、组ID,等等。在一组工作人员的细节,和那组可以执行的权限的详细信息,记录在员工表和权限表两映射表。真的不记录在一组什么人都有,什么权限即可执行。通过两个映射表的衔接,实现三个实体表之间的交互,从而完成了集团业务提出的要求。
让我们看看表和权限之间的正确列表交互。两个表之间的字段关联如下所示:

两表与actioncolumnid领域相关,这是在数据库,如下图:

如此关联所示,我们可以非常清楚地看到属于列的权限表权限。
现在数据库结构清晰,实现了权限分配和组操作功能,接下来分析了权限管理系统在需求中的可重用性。
为什么使用此数据库设计方法构建的系统可以重用

系统中的三个决定性因素是记录在三个实体表。权威,组和个人。三元素可以添加任意互不影响。无论商业系统的类型,这三个决定性因素不会改变,这意味着结构不会改变,和改变的只是数据。

三个元素之间的关系被记录在两个映射表中,但这些关系完全由人类创造。当需要更改时,只需在数据库中操作记录,而不需要更改结构。

右栏表使用显示列记录系统。无论您希望添加或修改列,列都会减少列,这是惟一的记录操作。
总之,这个设计数据库,该系统是完全可重用的,并能够承受变化测试。
总结:
本系统的重点是三个实体表牢牢地抓住了系统的核心部件,而两个映射表完全映射出三实体表之间的交互。难点是理解的映射表,它记录的关系,实现了集团化运作的系统概念。总体设计是基于可重用在不同的MIS系统以满足不同系统的功能权限。
附录:
权限管理系统数据表的现场设计
让我们来看一下权限管理系统的数据库表设计,它分为六个表,如下所示:

动作表:

动作表记录系统中的所有动作,以及动作相关的描述。

actioncolumn表:

actioncolumn表记录的动作栏,系统运行时,左侧菜单栏提供了几块不同的功能,是一列的每一块,每添加一列,在相应的表格记录,还将添加在左侧菜单栏柱。

actiongroup表:

的actiongroup表记录集团的行动中,位于。

groupmanager表:

的groupmanager表记录管理组的相关信息。每个添加一个管理组,这里的记录将添加一个。

主群表:

的主群表记录,管理员在管理组。因为管理员可能同时属于多个组,因此在表中可能有许多关于管理员的记录。

主表:

主表记录所有管理员的信息,每个管理员添加一个管理员,它添加一个记录。
免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
相关文章
返回顶部