Teamcenter Engineering(1MAN8.1)是美国EDS公司的PDM产品。它以Oracle数据库为基础,在数据访问权限控制方面,既可做到面向用户和角色管理,又可围绕产品对象进行设置。这是通过基于规则权限设置(Rule Based Access Manager)来实现的。基于规则,简单的说就是,根据产品数据的不同状态,结合用户角色,对产品数据采取不同的访问权限设置。
1.iMAN系统中的数据状态
如图1所示,在iMAN系统中,产品数据分为3种状态:工作状态(Working),进入审批流程(In-Process)和归档(Released)。不难理解,对产品数据的不同阶段采用不同的访问权限是比较合理的。比如说,在Released阶段,产品数据一般不允许更改;在In-Process阶段,数据更改权限应严格控制;在Working阶段,设计者对数据可拥有充分的访问权限。
图1 iMAN系统中产品数据的三种状态
那么,基于规则的权限管理在iMAN系统中是如何实现的呢?利用iMAN的访问管理器(Access Manager)模块可实现基于规则的权限配置。
2.访问控制列表ACL定制
某企业在制定PDM实施方案时,规定CAD数据在设计阶段的访问控制列表(ACL)如表1所示。
表1 工作状态控制列表CADWorking
其中,CADWorking是该控制列表在数据库中的名称。同一组的其他用户可对该组的数据进行浏览,但不能随意修改。而iMAN系统默认的权限设置是允许同组用户对数据进行修改的,为此需要对规则数据进行客户化的定制。这可由系统管理员(Infodba)在Access Manager中,对RuleTree进行修改来实现。
3.规则树Rule Tree的修改
图2是系统管理员按照CADWorking控制列表(表1),在Access Manager中对Rule Tree进行定制的界面。我们主要针对POM appication Object对象定制,该对象包括数据单元(Item),数据集(Dataset)和表(Form)等iMAN的常用数据对象。
图2 iMAN系统中规则树修改
4.访问控制列表ACL浏览
对Rule Tree修改并保存后,相应的数据访问规则即刻生效。我们可以通过访问控制列表(Access Control List)对数据访问规则进行查看。
其中,每一行对应一个访问控制条目ACE(Access Control Entry),每个ACE都由访问者和权限两部分内容构成。访问者类型如表2所示。
表2 常用访问者类型说明
如图3所示,将World和Owning Group两条相关的访问控制条目ACE进行布尔逻辑运算,可以得知,Owning Group对产品数据具有读(Read)和订阅(Subscribe)权限。而Write,Change等修改权限已被屏蔽,这完全符合表1的要求。
图3 修改后的ACL结构
这就是以某企业PDM系统实施方案为例,介绍的iMAN系统的数据状态、数据访问控制列表设置与浏览以及规则树的修改实例。