【BOS基础系统_权限】二开单据功能权限/数据权限/特殊数据权限开发指导
数据权限(授权规则)和特殊数据权限
问题:二开单据的二开权限项如何开发支持 普通背景:该指导需要先开发好二开单据和二开权限项,此处如有疑问可参考附件先了解并创建好二开权限项
1.如何让二开单据支持授权规则(授权规则树中有该二开单据)
1、有权限项关联该实体
2、权限项中定义扩展属性enableDataPermission为true;
3、生成子系统树
4、发布权限项部署完成之后,登录administrator-用户管理-文件-同步权限数据
2.如何让二开单据支持特殊数据权限(特殊数据权限树中有该二开单据)
1、权限项有关联实体
2、权限项中定义扩展属性enableDataPermission为true
3、在服务器目录中(注意每个实例都要改)${EAS_HOME}/server/profiles/server*/config/EAS_PermissionConfiguration.xml(注意如果是本地bos工具启动的服务器路径应该是在工作空间的runtime路径下)维护单据实体配置项(维护在special-data-permissions节点里面),修改该配置文件之后要重启服务器才能生效
4、发布权限项部署完成之后,登录administrator-用户管理-文件-同步权限数据
3、如何让功能权限和数据权限生效
3.1、需设置单据的业务属性(组织类型),和权限项的主业务组织类型保持一致
此处建议了解权限项主业务组织类型的影响:https://vip.kingdee.com/article/50020183096029952
3.2、使功能权限生效(此处可理解事件验权)
1)、查看权限建议引用对象中绑定单据实体对应的ListUI,对应引用属性绑定实体ListUI的界面加载事件属性(如:ActionOnload)即可
2)、增删改权限建议引用对象中绑定单据实体对应的EditUI,对应引用属性绑定实体EditUI的对应增删改,审核,提交等之类的界面加载事件属性(如:ActionEdit)即可
此处疑问:web单据没有ListUI,EditUI类,怎么验权呢,不用担心,下面数据验权的配置步骤可以覆盖web单据的增删改查数据验权,可以说如果数据验权配置好了,那么也是一样能控制住权限。
3.3、使数据验权生效(即授权规则+特殊数据权限生效)
单据查看权限项建议:
1)、引用对象中绑定实体的query对象(单据序时簿列表查看验权)
2)、引用对象中绑定实体,对应引用属性中绑定实体超类的所有getValue方法(单据单个查看验权)
单据增删改权限项建议:引用对象中绑定实体,且在引用属性中绑定实体对应的增删改方法(如果没有,就选择父类的增删改方法(对应方法名为addnew,save,update,submit等重载方法都勾选上即可))
每次修改过权限项的信息,发布之后,记得同步权限项
注释:
功能权限 验权和 数据验权的区别:
功能权限:可以理解为 前端 调用了权限这边提供的rpc验权接口来验权(主要参数:用户,组织,权限项)
数据权限:EAS框架在基类的增删改查这些通同的业务方法中添加了前置服务校验(包含验权服务),从而走到后台验权服务(PermissionServiceAdapter.execute())根据框架传过来的上下文以及单据数据来 验权。
标准产品权限项案例:
【BOS基础系统_权限】二开单据功能权限/数据权限/特殊数据权限开发指导
本文2024-09-22 18:03:04发表“eas cloud知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-eas-98282.html