在《浅谈PREEvision权限管理》一文中,我们介绍了如何在PREEvision中初始化一个权限模型,但只有模型还不够,我们需要对各个用户在不同Project中进行权限的配置,以及在EEA工程中对各个Package配置权限。
PREEvision可提供强大的角色和权限管理系统,在多用户环境中工作时,可控制模型访问和工具功能。
要启用角色和权限,必须在PREEvision服务器上设置权限模型。一旦启用,对服务器上所有项目的访问都由权限模型控制。
每个方面在权限模型中由各自的权限项表示。权限项通过权限组间接分配给各个角色,每个角色引用一组权限组,这些权限组依次引用权限项(例如用户、项目、操作、视图)。权限组上设置的访问权限定义了角色的权限,并应用于分配给该组的所有项。
默认情况下,权限模型包含以下权限包结构,其中项目、角色和用户都应该在自己的包中进行管理。
用户和项目被分配到使用权限组的角色。下图描述了分配项目和用户到角色的过程。
默认权限模型提供了三个预定义的角色(Administrator、Developer and Viewer),它覆盖了标准角色和权限管理。然而,如果出现对角色和权限管理的更详细的需求,则需要配置自定义角色。(Tips:与其创建自定义角色,不如使用默认角色或从默认角色继承。因为配置自定义角色需要详细了解PREEvision的所有功能。)
- Administrator:对PREEvision的完全访问,包括权限模型和Security;
- Developer:除了权限模型和Security之外,对PREEvision的完全访问权;
- Viewer:E/E模型的只读权限。
- 继承角色:一个(自定义)角色可以继承自一个Super Role。在这种情况下,赋值的元类和操作继承自Super Role。分配给Super Role的User和Project不会被继承。
e.g. 架构开发组继承Administrator权限
当我们完成上面所有的权限模型设置操作时就可以发现,新创建模型并输入自己的账号后,下拉Role会自动识别到此用户属于哪个Role组,允许访问哪些Model,可以有效的限制工程师访问对应的工程。
EEA Security
以上都是对模型进行的权限管理,那么在同一个E/E模型内,就要用到“Security”功能。
- Security的设定是针对Role而不是用户的;
- 只有Administrator权限才可以配置Security;
- 目前最小单元只能在Package上设定Security;
- 目前有三种Security的权限:
- Invisible
- Read(visible)
- Write(Write Create)
注意,设置一个Package为Invisible,那么它的所有子集也变为Invisible。访问权限不仅指用户操作,还指诸如Metrics和Report等自动化机制。如果模型视图中的构件是看不见的,那么在对应的Metrics和Report也无法使用。
这里举个小例子,方便大家理解。在网络拓扑图中,存在CAN、LIN两部分构件。
现在想让LIN的部分对Test角色不可见,可利用Security进行设置。
我们切换到Test角色,看看它的视角如何。可以看到在模型树中已经看不到LIN相关的构件,并且在拓扑图中也没有了显示。
在Security配置时也可以利用一些Table的二次开发,更方便配置每个Package对于各个Role的权限。甚至利用Metrics把已经配置好Security权限规则的产品线,复用给其它想用相同规则的产品线。
以上就是对PREEvision权限管理更深一步的内容讲解,如果大家对此内容感兴趣或遇到任何问题,都可以在文章下方留言或发送至邮箱market@dotrustech.com,期待与您交流。
注:部分资料及方法论来源于Vector中国。