当前位置: 首页 > 工具软件 > ZCMS > 使用案例 >

揭开ZCMS2.0系统中权限体系的神秘面纱

姜华翰
2023-12-01

近日,泽元软件新推出的ZCMS2.0(以下均称ZCMS)系统收到了很多客户的反馈,多表示新系统的使用比之前的版本更加易用,且功能也比之前更完善全面了,尤其是系统权限控制体系的细粒度和可扩展性被着重提及到了。ZCMS系统为什么会受到客户这么多的反馈呢?相信大家都比较好奇,现在就让我们揭开这层神秘的面纱去一看究竟吧!

ZCMS提供了丰富的内容管理和动态功能,且允许二次开发人员扩展更多的功能,据此,ZCMS通过建立灵活的细粒度的、可扩展的权限控制体系来协调不同的部门、岗位和人员的合理使用,保证其各司其职、权责分明、互不影响。

ZCMS系统的权限控制方式有三种,分别是按权限项授权、按权限拥有者授权以及分级授权。

权限项是指系统中需要授权才能执行的一个或者一类行为,例如,保存栏目、删除文章等。ZCMS中将权限项细分为两类:一类是简单权限项,即不区分操作的数据对象,如,“系统配置”菜单下的“保存”权限项,只要授予了权限就可以保存所有的系统配置数据;另一类是数据权限项,即区分操作的数据对象,如,“栏目管理”菜单下的“删除”权限项则需要逐个栏目授予,只有当前栏目的“删除”被赋予了权限,界面中的“删除”按钮才会可用。ZCMS通过将两种方式的结合,实现了界面的任何按钮或者UI控件都可以通过权限控制体系加以控制,使得系统的用户使用权限更加分工明确了。

权限拥有者就是可以被授予权限项的目标实体。ZCMS将其定位为三类,分别是:

1.机构:代表着一个分支机构或者业务部门,可以根据机构的地域或者职能的不同授予不同的权限项;

2.角色:代表着一个岗位,是为了便于给工作职责相同的用户统一设置权限而设置的。角色必须属于某一个机构;

3.用户:代表着用户个体,一个用户可以拥有多个角色,但只能属于一个机构。用户的权限是用户拥有的所有角色的权限的合集,再加上单独为此用户授予的权限。

图:为角色授权

ZCMS能够实现按机构分级授权。一般情况下,父机构被授予的权限项是其子机构权限的超集。同时,机构下的角色和用户的权限也不能超出机构自身的权限范围。综上,系统管理人员创建子机构、角色、用户授权时,不在父机构的权限范围内的权限不可选。

ZCMS中一个用户若被授予了机构、角色管理或用户管理的菜单权限时,他就可以管理本机构下的权限拥有者并为其授权,而对于父机构以及同机构的权限拥有者则不能管理和修改其权限。这样,通过严谨的分级授权,各个机构就可以灵活的添加本机构下的子机构、角色和用户了。父级机构的管理人员可以为子机构下的用户通过赋予父机构角色的方式单独提升其权限,也可以为其赋予其他子机构的角色实现跨机构授权,ZCMS通过这些授权方式更好的处理了用户兼任职务的情况。

图:为子机构设置权限范围

ZCMS的权限控制体系的另一大特色就是可扩展性,二次开发人员可以扩展权限体系,方式有以下三种:

1.权限项:ZCMS中的权限项被设计成是可扩展的,可以通过注册扩展项到相应的扩展服务的方式添加新的权限项。如果是简单权限项,则注册到菜单权限扩展服务下;如果是数据服务项,则需要注册到站点权限扩展服务、栏目权限扩展服务等相关的数据类型对应的扩展服务中去。

2.权限授予界面:各个插件注册了权限项之后,还需要通过com.zving. Platform. PrivUI扩展点注册自己的权限授予界面,在机构、角色、用户的权限设置界面中显示一个选项卡。通过此选项卡管理人员能够以各种形式(表格、树形结构等)的界面为权限拥有者授予权限项,并通过统一的权限保存API将各插件注册的权限项保存到对应的数据库记录中。

3.权限检查行为:各个插件实现了自己的权限授予界面之后,需要注册检查行为到com.zving.Framework.PrivCheck扩展点,以实现各插件自己注册的权限项的检查逻辑。

通过这些介绍,我们看到了ZCMS权限控制体系的神秘面纱下的内容呈现以及系统功能之全面。近年来,泽元软件公司不断的升级完善其ZCMS系统,每次升级都会得到广大新老客户的大力赞扬和支持。泽元软件在不断的发展和创新,让我们期待下一次的升级体验吧!

 类似资料: