本文介绍了在开发平台上对表单进行权限控制的过程,包括权限的配置、发布、新增流程,以及权限项不会随应用迁移的问题和解决方案。解决方案涉及在数据库层面执行SQL语句,将权限项数据从原环境迁移到新环境。
背景介绍
开发平台新建的表单,只有单据和基础资料有权限控制,其他没有权限控制
标准的新增保存等权限不满足实际业务需要
在表单上加权限后,权限不会随着应用的迁移一起迁移
权限控制面板介绍
控制功能权限:打开后,将启用本表单配置的权限项
匿名用户权限:打开后,本表单可以在未登录时访问,需在url中添加 userId=guest 参数
权限控制类型:为空,只控制功能权限,若不为空,将根据权限控制主字段和辅助字段进行控制
权限发布应用:若在A应用下配置了B应用下的某表单,需要在对应表单的的权限发布应用中添加上A应用
新增权限流程
开发平台打开表单的权限管理:
点击操作权限控制页签下的新增
点击权限项列表的新增
输入权限项信息,记住编码,接下来步骤要用到,我这里需要添加两个权限项,编码是 crrc_query_meeting和crrc_input_meeting_leave
保存之后选择需要添加的权限项,点击返回数据
选择整体控制页签,调整权限控制类型为空
保存表单元数据,此时权限项会出现在通用角色的权限列表中,要想使权限项生效,还需将权限项绑定到页面或者具体操作代码上
权限绑定操作或菜单
迁移权限流程
权限项不会随着应用迁移而迁移,要想随着应用迁移而迁移,还需要操作以下步骤,切不可在迁移后的环境重新新增权限项
表单元数据中存放这元数据的 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')
);
将结果1和结果2复制为Insert语句
修改或者删除Insert语句中的数据库名,然后在待迁移环境的SYS分库下执行
此时权限迁移完成。
动态表单或单据新增自定义权限.docx(422.63KB)
推荐阅读