当前位置:研发设计首页 >> 管理信息化 >> 数据管理 >> PDM中面向角色用户管理的研究
PDM中面向角色用户管理的研究
2004-03-11 14:25:00  作者:  来源:CAD/CAM与制造业信息化
  • PDM中面向角色用户管理的研究
    PDM中直接将权限分配给用户的用户管理方法已经被淘汰,目前大多数采用面向对象技术的用户管理技术,它主要由用户、权限和角色三个对象构成,将权限赋给角色,再将角色分配给用户。这种方法显然比前一种优越许多,它不但节省了时间、而且还方便了操作,用户不需要花大量的时间重复分配用户权限,且权限变更比较方便。但这种用户管理也存在很多的缺陷。例如角色定义狭窄,角色之间是平面关系,无层次结构,但是如果把部门也看成角色,那么角色之间就会存在继承和派生的关系,这将极大地提高权限分配给角色的效率 ;而且通过分析可知,权限是有层次结构的,它本质上是一个树形结构。树形结构的权限表达方法使权限更加清晰明了,而不再是以前松散、无序的权限构成。
本文就向大家介绍在面向角色的用户管理方法上,如何有效地解决以上出现的问题。
一、用户管理对象模型
1.用户管理对象的关系
根据面向对象技术的分析方法,在用户管理中存在3个实体,它们是用户、权限和角色,如果将这3个实体看作是3个对象,用户管理的内容主要将围绕用户、权限和角色这3个对象进行描述。图1描述了用户、权限和角色之间的联系。从图中我们可以看出权限赋给角色,角色再赋给用户,权限和用户之间没有直接的联系,用户的权限是分配给用户的所有角色权限运算的结果。

图1 权限、角色和用户之间的关系
2. 用户管理对象分析
(1)权限的内容
权限包括功能所有权和数据所有权两个方面。功能所有权又叫操作所有权,通常情况下,如用户拥有某一功能所有权,用户就具有行使操作的权利,这类权限往往是在程序初始化时完成的,表现方式是操作按钮或菜单的显示、隐藏和灰色显示。
另一类权限叫做数据所有权。数据所有权是操作所有权的深化,有了操作的权限,不一定具有数据的权限。具体来说数据所有权指不涉及操作功能的、与用户处理或操作对象有关的数据的权限。数据所有权可以是产品型号,如对JC125T-2B型号产品,也可以是图纸,如41100-H0300产品车架图纸等。数据所有权是分等级的,例如在本文中就将数据所有权分为6个等级,分别用0、1、2、3、4和5来表示。0表示无数据权限;1表示有数据的读权限 ;2表示有数据的写权限,包含修改和增加数据的权限;3表示有数据的归档权限 ;4表示管理员权限,拥有对任何数据的所有权 ;5表示超级权限,为预留权限。通过对数据所有权等级的划分,就可以明确地定义对数据的所有权。
还有一点需要说明:权限是有层次的,因此它本质上可以用一个树形结构来表示。
(2)角色的内容
这里的角色是指具有明确行为准则、确定的行为方式、完成规定范围任务的实体。角色可以是组织、部门或者职务,但角色不是具体的个人。在这里,组织和部门也被看作角色,这样做的好处是现而易见的,角色与角色之间有了继承的关系,更符合实际情况,而且方便操作。在角色里,我们在部门下面定义许多职务,如总经理、副总经理、JC125T-2B产品项目主管或者JC125T-2B产品设计员等。
(3)用户的内容
这里的用户指企业员工中具有PDM软件用户名和密码的个体。从定义中我们可以知道,首先要建立企业所有员工的信息,在员工信息的基础上再创建用户对象。用户对象的关键属性是用户的权限属性,权限属性是用户的角色权限和用户所在部门权限的计算结果,无论是操作所有权还是数据所有权都是根据用户的权限属性来判断的。
3. 用户管理对象模型
通过以上内容分析,我们能很容易地建立权限、角色和用户的对象模型,如图2所示。

图2 用户管理对象模型
二、 用户管理的数据库设计
面向角色用户管理的数据库设计应该从对对象的分析入手。从前面的分析,我们可以知道用户创建的对象有员工对象、用户对象、角色对象、权限对象和部门对象,这些对象分别对应员工表、用户表、角色表、权限表和部门表。根据面向对象数据库的设计方法,用户和角色之间存在多对多的关系,所以我们还需建用户角色关系表。这里的数据库选择Oracle 8.0.5,主要数据库表如表1(a~d)所示。
表1(a) 用户表(USERS)

表1(b) 角色表(ROLES)

表1(c) 权限表(AUTHORITYS)

表1(d) 用户角色关系表(USERS_ROLES_LINKS)

需要说明的是权限位号和权限码的区别和联系。权限码是一个长为1000位的字符串,这1000个字符代表1000种不同的权限,每一位的值表示不同权限的授权等级,如第10位表示JC150T产品的权限,第10位的值为3,它表示对JC150T产品具有写操作的授权。一般来说,对于PDM软件500个权限已足够,1000位的权限码已有相当的余量。权限位号是标明权限位于权限码中的位置,如权限位号为10表示JC150T产品的权限位于权限码的第10位,具体的授权要看权限码第10位的值。
三、与用户管理相关模块的程序设计
1. 主菜单的初始化
用户登陆时输入用户名和密码,软件系统从用户表中查询符合这两个条件的记录,确认后进入主菜单初始化处理过程,其流程如图3所示。需要注意的是为了使程序简单,将所有主菜单的显示属性设为False。

图3 主菜单初始化
2.产品权限的判断
菜单的权限是功能所有权,也称为使用权,它赋予用户使用操作界面的权限,但它不对用户的产品权限进行判断,而且要完成对用户的产品权限(即数据所有权)的判断,确定用户对该产品具有权限的等级。
四、结论
    扩充和完善了用户管理的思考方法,解决了用户管理效率不高的难题。它不仅适合在PDM中运用,同样也适合其它软件的用户管理,希望有助于软件成功推广和方便实施。



版权所有:智造网 京ICP证100778号 京公网安备110102003025 虚假新闻举报电话:010-88379107