如何在动态表单或单据中新增权限原创
金蝶云社区-lzpeng723
lzpeng723
6人赞赏了该文章 2,157次浏览 未经作者许可,禁止转载编辑于2021年12月17日 17:09:22
summary-icon摘要由AI智能服务提供

本文介绍了在开发平台上对表单进行权限控制的过程,包括权限的配置、发布、新增流程,以及权限项不会随应用迁移的问题和解决方案。解决方案涉及在数据库层面执行SQL语句,将权限项数据从原环境迁移到新环境。

背景介绍

  • 开发平台新建的表单,只有单据和基础资料有权限控制,其他没有权限控制

  • 标准的新增保存等权限不满足实际业务需要

  • 在表单上加权限后,权限不会随着应用的迁移一起迁移


权限控制面板介绍

图片1.png


  • 控制功能权限:打开后,将启用本表单配置的权限项

  • 匿名用户权限:打开后,本表单可以在未登录时访问,需在url中添加 userId=guest 参数

  • 权限控制类型:为空,只控制功能权限,若不为空,将根据权限控制主字段和辅助字段进行控制

  • 权限发布应用:若在A应用下配置了B应用下的某表单,需要在对应表单的的权限发布应用中添加上A应用

新增权限流程

  1. 开发平台打开表单的权限管理:

    图片2.png

  2. 点击操作权限控制页签下的新增


    图片3.png

  3. 点击权限项列表的新增


    图片4.png

  4. 输入权限项信息,记住编码,接下来步骤要用到,我这里需要添加两个权限项,编码是 crrc_query_meeting和crrc_input_meeting_leave


    图片5.png

  5. 保存之后选择需要添加的权限项,点击返回数据


    图片6.png

  6. 选择整体控制页签,调整权限控制类型为空


    图片7.png

  7. 保存表单元数据,此时权限项会出现在通用角色的权限列表中,要想使权限项生效,还需将权限项绑定到页面或者具体操作代码上

权限绑定操作或菜单

图片8.png

图片9.png

迁移权限流程

权限项不会随着应用迁移而迁移,要想随着应用迁移而迁移,还需要操作以下步骤,切不可在迁移后的环境重新新增权限项

表单元数据中存放这元数据的 id,而待迁移环境中是不存在此 id,导致迁移后表单权限管理那里是空

如果在迁移后的环境新增权限项后,重新再次新增权限并绑定操作,之后每次迁移数据时都需要重新配置权限信息

若要解决此问题,需要将权限项的所有信息一并迁移至新环境


去SYS分库下执行以下SQL

-- 查询权限项数据

SELECT * FROM `t_perm_permitem` WHERE fnumber IN ('crrc_query_meeting','crrc_input_meeting_leave');

SELECT * FROM `t_perm_permitem_l` WHERE fid IN (

SELECT fid FROM `t_perm_permitem` WHERE fnumber IN ('crrc_query_meeting','crrc_input_meeting_leave')

);

图片10.png

将结果1和结果2复制为Insert语句

修改或者删除Insert语句中的数据库名,然后在待迁移环境的SYS分库下执行

图片11.png

此时权限迁移完成。

图标赞 6
6人点赞
还没有人点赞,快来当第一个点赞的人吧!
图标打赏
0人打赏
还没有人打赏,快来当第一个打赏的人吧!