功能权限,多的是你不知道的事(上)

栏目:云苍穹知识作者:金蝶来源:金蝶云社区发布:2024-09-23浏览:1

功能权限,多的是你不知道的事(上)


有一天,刚上手苍穹的“权不董”使用系统做直接授权时,去掉了用户某个表单的删除权,但发现被撤权后的用户还能删除表单的数据,百思不得其解,于是请教经常搞权限的“权半董”。



这时,“权都董”大神正好路过,听到不董的抱怨,不禁发出感叹。



1 权限分类

首先,快速了解一下权限的分类。


从狭义角度而言,权限可分为功能权限、字段权限数据规则。以下图的采购订单表单为例:


采购订单表示例


一个用户能否查看、新增、修改这个采购订单,由功能权限进行控制。


一个用户能否查看订单日期这一列,或者能否在表单详情页修改订单日期,由字段权限控制,也称为列权限


一个用户能否查看列表上某些行的数据,例如【采购组织】是“A公司”的, 或者【结算币别】是“人民币”的,由数据规则控制,也称为行权限


注意:“数据规则”,一般不叫“数据权限”,因为“数据权限”其实是一个更广的概念,它可以包括“字段权限”、“数据规则”、“特殊数据权限”,甚至“功能权限的隔离维度”。


由于功能权限内容较多,我们分两次来讨论,本次我们只讨论功能权限的要素授权功能,下期讨论验权逻辑



2 功能权限的要素

功能权限的要素可以分为用户、应用、表单、权限项、隔离维度


1. 用户


系统需要知道对哪个用户进行授权和验权。


2. 应用


苍穹支持同一业务对象发布到不同应用下,例如:出差申请单在人人报账、费用查看、费用核算这三个应用同时发布,但是从业务应用角度,需要分别授权。


(关于这一点,可以回看历史文章《少侠,你遗漏了一项配置--“权限发布应用》及其同名“续集”,内有详细解释) 


如下图,应用有一个和权限相关的属性“全员应用”。如果一个应用是全员应用,那么在其下打开的表单都验权通过。全员应用下的表单自然也就不需要授权。


全员应用属性示例


3. 表单


有时也叫“业务对象”。如下图,在“页面”页签下,除了红圈的轻量卡片,其他都是可以用于控权的表单。


表单示例


再如下两图,“布局”页签和“其他”页签下的表单都不直接控权,而是根据其他方式来验权,下面只讲一下“布局”表单验权的特点。


”布局“页签下的表单示例

”布局“页签下的表单示例


布局表单验权时按实体表单验权。一个实体表单可以创建任意多个布局表单,就像一个人(实体)可以穿上不同的衣服(布局),但大楼保安判断一个人是否有权进入某栋楼,需要看这个人(实体)是谁,而不是看他穿的衣服(布局)。


如下图,“出差申请单(核算)” 是一个布局表单,点击“视图”按钮后,可以看到页面继承关系视图中, “出差申请单”才是真正的实体,验权是以“实体表单”来控制,而不是“布局表单”。


“出差申请单(核算)”的页面继承关系视图


接下来,再了解一下表单元数据上的一些权限配置:“权限控制”配置项中有一个 “控制功能权限”的开关,如果关闭该开关,表明该表单不需要进行权限控制,那么任何人皆可访问该表单。


采购订单表示例


再如下图,点击“操作权限控制”,可以查看表单绑定了哪些权限项。


操作权限控制示例


一个表单如果需要进行权限控制,需要满足两个条件:


(1)打开“控制功能权限”开关;

(2)至少绑定一个权限项。


4. 权限项


权限项为一个表单上授权或验权的最小单位,例如查询、新增、查看、删除、提交、审核等。


我们称应用、表单、权限项3个要素的组合为“功能权限项”。



如下图,展示了按钮和权限的关系,他们是通过操作关联起来的!


按钮和权限的关系示例


首先“删除”按钮绑定了“delete操作”,“delete操作”绑定了“删除权限项”。点击“删除”按钮后,系统会自动触发验删除权,是因为系统发现存在 “按钮-操作-权限项”这个绑定关系。


如果不存在这个关系,验权情况就变了。例如:


1)“删除”按钮不绑操作,或“删除”按钮虽然绑了操作,但操作不绑权限项,那么此时点击“删除”按钮,都不会触发系统的自动验权,相当于有权。


2)虽然“删除”按钮绑定了delete操作,但delete操作绑定了“提交权”,那么点击“删除”按钮就会验当前用户是否有该表单的提交权,而不是用户想当然的“删除权”(这种情况可能为开发者有意为之,或者是误配置。一般来说,权限项会和按钮名称相似或相同)。


5. 隔离维度



下图为【企业绩效云】→【基础资料】→【体系功能权限】→【用户直接授权】的界面,和【系统服务云】→【基础服务】→【权限管理】→【用户授权】很相似。但此处授权分配的不是组织的范围,而是体系的范围。


用户直接授权界面示例


关于隔离维度是如何影响验权的,我们在下集谈验权时再详细展开。


3 授权功能



1. 用户直接授权


用户直接授权将上述的5个要素直接组合,如下图所示:


用户直接授权示例



2. 通用角色


对应应用、表单、权限项3个要素的组合,即功能权限项的集合,如下图所示:


通用角色示例


3. 用户分配通用角色


用户+隔离维度+通用角色(功能权限项的集合)的组合,集齐5要素,如下图所示:


用户分配通用角色示例


4. 通用角色分配组织用户


通用角色(功能权限项的集合)+隔离维度+用户的组合,集齐5要素,如下图所示:


通用角色分配组织用户示例


5. 通用角色分配用户组织


通用角色(功能权限项的集合)+用户+隔离维度的组合,集齐5要素,如下图所示:


通用角色分配用户组织示例


6. 业务角色


功能权限项的集合 + 隔离维度的组合,只集齐4要素,如下图所示:


业务角色示例


7. 业务角色分配用户


业务角色(功能权限项的集合+隔离维度+用户),集齐5要素,如下图所示:


业务角色分配用户示例


8. 用户分配通用角色-权限禁用


将5个要素直接组合。


注意:禁用权优先,如果存在禁用的某5个要素的组合,即使在上述7种情况中的任意一个存在这5个要素的授权,依然判定无权。


例如:

直接授权:用户U,应付,财务应付单,查询,A组织;

禁用:用户U,应付,财务应付单,查询,A组织。

如果验权时验证上述5个要素的组合,那么验权结果是:无权。


用户分配通用角色-权限禁用示例



9. 管理员的系统服务云的功能权限分配


管理员分组(用户的集合)+ 功能权限项的集合,集齐4要素(无组织隔离)。


这个功能用于进行管理员分级控制系统服务云下的功能权限范围 (管理员功能分新旧两种版本,这个只有在新版(V4.0.006以及其后版本)中才有,截止2022-3,尚未发布自动升级程序,需要使用的,可以手动升级)。


下图为管理员分组分配用户示例:


管理员分组分配用户示例


下图为管理员分组分配系统服务云下的功能权限项的范围示例:


功能权限项的范围示例


10. 全功能用户

在这个功能中添加的用户,几乎“无所不能”。其他上述功能授权就等于没有任何意义了。这个功能一般用于实施运维人员快速分析问题,或者产品演示,或者临时忽略功能验权等情况。


全功能用户示例



4 划重点


1. 从狭义角度而言,权限可分为功能权限、字段权限和数据规则

2. 功能权限的要素可以分为用户、应用、表单、权限项、隔离维度

3. 授权功能可分为以下10种:


上传图片

授权功能说明




#往期推荐#


# 少侠,你遗漏了一项配置--“权限发布应用”

# 少侠,你遗漏了一项配置--“权限发布应用”(续集)

听说,苍穹来了位管数据权限的“神人”...

# 凡事要有个度—管理员管辖范围的权限管控


更多精彩内容,“码”上了解!↓


功能权限,多的是你不知道的事(上)

有一天,刚上手苍穹的“权不董”使用系统做直接授权时,去掉了用户某个表单的删除权,但发现被撤权后的用户还能删除表单的数据,百思不得其...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息