权限发布应用

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

权限发布应用


最近,小A在使用权限的时候遇到了难题:



小A的问题很常见。

在日常使用苍穹的时候,我们习惯使用的场景都是:如果在应用A下创建的表单X,就理应挂在应用A的菜单下使用(原生应用)。

但会存在这个表单X需要挂在其他应用的菜单下使用,比如“银行存款对账”“财务云-出纳”应用创建,也需要在“资金云-资金结算”应用下使用。


那就要在不同的应用下独立分配表单的权限,这个时候就涉及到关于表单“按应用授权及验权”了。


接下来,小编通过案例来给大家介绍“权限发布应用”。




1 创建表单,不同应用下发布使用

场景一:表单在原生应用使用,按原生应用验权

step1.进入开发服务云-开发平台。


step2.创建三个应用A、B和C,并启用。


step3.在应用A里面创建表单X(应用A是表单X的原生应用)。



打开表单X,启用权限控制:点击“权限控制”配置项,整体控制页签启用“控制功能权限”,如下图:


在"系统服务云-基础服务-权限管理-通用角色"中,在功能权限树的应用A可见表单X及其权限项,说明表单X需要进行权限控制,并且按应用A授权和验权


注意事项

  1. 表单X在元数据的权限控制启用【控制功能权限】,则在原生应用A是天然进行授权和验权的,与“权限发布应用“字段无关;

  2. 同时原生应用验权是表单X在多个应用下被引用时的兜底验权;

  3. 表单X在原生应用下从菜单或其他表单引用(例如:工具栏)打开都是验证原生应用的权限;


场景二:表单在菜单发布应用使用,还是按原生应用验权

表单X需要应用C上可用,点击应用C的“菜单管理”,如图:


在应用菜单界面点击“新增子级菜单”,如下图:


在“新增子级菜单”界面的【页面】字段选择表单X,如下图:



这样就可以实现应用C的菜单显示表单X,如下图:


此时我们再重新打开上述角色查看功能权限树,发现表单X仍然只出现在应用A下,应用C下不可见。



原因:表单X只是发布菜单到应用C,而不是发布权限到应用C。

注意事项:此时应用C的表单X验权是按照应用A的表单X权限情况来,也就是说表单X只是做了发布菜单到应用C,未做发布权限,则表单X在只做菜单发布的应用C是按原生应用A的权限做兜底验权的;


那么应该如何实现表单X按应用B授权并验权?下面继续解说。


使用 “权限发布应用”

场景三: 表单在权限发布应用使用,按发布权限应用验权

实现表单X按应用B授权(同时也做了菜单发布),则需要用到权限发布应用了,具体的操作步骤如下:


step1.  配置权限发布应用

在开发平台进入表单X的表单设计器界面,点击“权限控制”配置项,在“权限发布应用”字段选择“应用B”,点“确定”后保存。

这样就实现把表单X的权限发布到应用B,如下图:


step2.  发布菜单到应用B

点击应用B的“菜单管理”,如图:



在应用菜单界面点击“新增子级菜单”,如下图:




在“新增子级菜单”界面的【页面】字段选择表单X,如下图:



这样就可以实现应用B的菜单显示表单X,如下图:



step3.  查看功能权限树


进入上述角色界面查看功能权限树,此时发现表单X同时出现在应用A和应用B下面,表单X可以在应用A和应用B下分别授权,如下图:



验证用户拥有的表单权限

在小B悉心讲解“权限发布应用”的设置后,小A豁然开朗。



具体验证的步骤如下:

step1.  用户分配角色

创建通用角色,添加应用A的表单X权限,分配通用角色给某用户;


step2.  用户登录

用户登录系统,可看到应用A而没有应用B;进入应用A对表单X可以进行全部操作。



step3.  修改角色权限

修改通用角色权限,移除原分配的应用A下的权限,添加应用B的表单X权限。


用户登录系统显示的是应用B,进入应用B对表单X可以进行全部操作


也就是说应用A和B下的表单X的权限是分别授权和分别验权的。这样表单X的权限在两个应用下独立进行功能权限控制。

如上例的“银行存款对账”,它可以在“出纳”和“资金结算” 两个应用下分别授权和验权的。


4“权限发布应用” 的验权逻辑



表单X是在应用A下创建,则应用A是表单X的原生应用,验权天然按照原生应用的权限来处理;

表单X通过应用B的“菜单管理“发布到应用B,同时表单X通过本身的“权限发布应用”发布到应用B;

表单X通过应用C的“菜单管理“发布到应用C;

这样,应用A为表单X的原生应用,应用B为权限发布应用,应用C为菜单发布应用。

表单X验权的逻辑: 

  1. 应用A打开表单X时,判断当前用户应用A下表单X的权限,如有则有权;—原生应用授权

  2. 应用B打开表单X时,判断当前用户应用B下表单X的权限,如有则有权;—通过“权限发布应用”发布到应用B,独立授权;

  3. 应用C打开表单X时,判断当前用户在应用C下无授权,则找原生应用A下表单X的权限,如有则有权;—菜单发布应用未授权,兜底验权机制找原生应用验权。


#往期推荐#


# 用好分级管理员,为管理员工作减负

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

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

# 简单而不失优雅地做一个“偷懒”的管理员



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


权限发布应用

最近,小A在使用权限的时候遇到了难题:小A的问题很常见。在日常使用苍穹的时候,我们习惯使用的场景都是:如果在应用A下创建的表单X,就理...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息