权限发布应用
最近,小A在使用权限的时候遇到了难题:
小A的问题很常见。
在日常使用苍穹的时候,我们习惯使用的场景都是:如果在应用A下创建的表单X,就理应挂在应用A的菜单下使用(原生应用)。
但会存在这个表单X需要挂在其他应用的菜单下使用,比如“银行存款对账”在“财务云-出纳”应用创建,也需要在“资金云-资金结算”应用下使用。
那就要在不同的应用下独立分配表单的权限,这个时候就涉及到关于表单“按应用授权及验权”了。
接下来,小编通过案例来给大家介绍“权限发布应用”。
1 创建表单,不同应用下发布使用
场景一:表单在原生应用使用,按原生应用验权
step1.进入开发服务云-开发平台。
step2.创建三个应用A、B和C,并启用。
step3.在应用A里面创建表单X(应用A是表单X的原生应用)。
打开表单X,启用权限控制:点击“权限控制”配置项,整体控制页签启用“控制功能权限”,如下图:
在"系统服务云-基础服务-权限管理-通用角色"中,在功能权限树的应用A可见表单X及其权限项,说明表单X需要进行权限控制,并且按应用A授权和验权。
注意事项:
表单X在元数据的权限控制启用【控制功能权限】,则在原生应用A是天然进行授权和验权的,与“权限发布应用“字段无关;
同时原生应用验权是表单X在多个应用下被引用时的兜底验权;
表单X在原生应用下从菜单或其他表单引用(例如:工具栏)打开都是验证原生应用的权限;
场景二:表单在菜单发布应用使用,还是按原生应用验权
表单X需要应用C上可用,点击应用C的“菜单管理”,如图:
在应用菜单界面点击“新增子级菜单”,如下图:
在“新增子级菜单”界面的【页面】字段选择表单X,如下图:
这样就可以实现应用C的菜单显示表单X,如下图:
原因:表单X只是发布菜单到应用C,而不是发布权限到应用C。
注意事项:此时应用C的表单X验权是按照应用A的表单X权限情况来,也就是说表单X只是做了发布菜单到应用C,未做发布权限,则表单X在只做菜单发布的应用C是按原生应用A的权限做兜底验权的;
那么应该如何实现表单X按应用B授权并验权呢?下面继续解说。
2 使用 “权限发布应用”
场景三: 表单在权限发布应用使用,按发布权限应用验权
实现表单X按应用B授权(同时也做了菜单发布),则需要用到权限发布应用了,具体的操作步骤如下:
step1. 配置权限发布应用
在开发平台进入表单X的表单设计器界面,点击“权限控制”配置项,在“权限发布应用”字段选择“应用B”,点“确定”后保存。
这样就实现把表单X的权限发布到应用B,如下图:
step2. 发布菜单到应用B
点击应用B的“菜单管理”,如图:
在应用菜单界面点击“新增子级菜单”,如下图:
在“新增子级菜单”界面的【页面】字段选择表单X,如下图:
这样就可以实现应用B的菜单显示表单X,如下图:
step3. 查看功能权限树
进入上述角色界面查看功能权限树,此时发现表单X同时出现在应用A和应用B下面,表单X可以在应用A和应用B下分别授权,如下图:
3 验证用户拥有的表单权限
在小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验权的逻辑:
应用A打开表单X时,判断当前用户应用A下表单X的权限,如有则有权;—原生应用授权
应用B打开表单X时,判断当前用户应用B下表单X的权限,如有则有权;—通过“权限发布应用”发布到应用B,独立授权;
应用C打开表单X时,判断当前用户在应用C下无授权,则找原生应用A下表单X的权限,如有则有权;—菜单发布应用未授权,兜底验权机制找原生应用验权。
#往期推荐#
更多精彩内容,“码”上了解!↓
权限发布应用
本文2024-09-23 00:31:48发表“云苍穹知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-cangqiong-140041.html