实现BPS组织机构数据权限分离解决方案
来源:互联网 发布:mac照片文件夹在哪里 编辑:程序博客网 时间:2024/04/28 13:20
阅读原文
需求描述:
在使用workspace流程定制功能时,总公司辖下a子公司,b子公司,a子公司流程参与者设计时只能看到a子公司及其下级机构、角色、人员;
b子公司同理。a、b两个子公司之间不存在跨子公司的流程需求。
即a子公司职员a1通过第三方系统单点登录workspace流程定制功能,设计流程环节参与者时,如下图所示(例子)
实现步骤:
- 业务目录权限事先需在workspace中自行设置.
确认governor --BPS流程引擎配置--扩展配置中使用默认的组织机构接口和权限接口
组织机构接口:org.gocom.components.coframe.bps.om.WFOMServiceImpl
权限接口:org.gocom.components.coframe.bps.om.WFOMPermissionImpl
- 确认governor --
BPS流程引擎配置--业务目录中业务目录权限有效为勾选状态
- 登录coframe创建机构、用户、员工、角色并进行授权,操作过程请参考coframe使用文档
- 使用sysadmin/000000登录workspace进行创建业务目录并授权
如上图所示,在建立业务目录时进行机构、角色等授权信息,注意授权时观察角色、机构下的人员信息是否展示出来,如果没展示出来则需要在coframe中授权管理中进行授权。这里的角色授权是和员工绑定的,所以员工信息是必须的(注意员工和用户的区别)
- Workspace中业务目录授权完成后,重启服务,使用被授权人登录验证业务目录授权是否正确
如下图所示,user1用户登录后只能见到领域目录下A部门业务目录下的流程,其他选项卡有业务目录展示的地方均如下图所示,同理user2登录只能看到B部门的业务目录。
注意
默认目录和领域业务目录的区别
默认目录中的流程所有登录人均可见,不可被授权
领域目录中可创建用户自己的业务目录,同时可做权限配置,符合授权条件的人、角色、机构可见,没设置权限则所有人可见。
2.扩展开发WFOMServiceImpl类
找到安装eos的tomcat部署目录,将附件【WFOMServiceImpl.class】放入到webapps{color}default\WEB-INF\classes\org\gocom\components\coframe\bps\om\目录下替换原文件即可,替换之前先做下备份。
最终实现效果
a1用户进入流程定制编辑流程页面选择参与者时只能看到A部门下的人员及A角色下的人员:
- 实现BPS组织机构数据权限分离解决方案
- 普元BPS自定义组织机构接口实现典型案例参考
- 组织机构权限系统设计
- 权限系统--组织机构管理
- 通用数据级权限控制解决方案的实现
- 架构师之路:组织机构管理和权限设计模型(Shiro实现)
- 大数据的解决方案--------读写分离
- 实现全国组织机构代码校验
- RDIFramework.NET 框架之组织机构权限设置
- 通用数据级权限控制解决方案的实现(二):Cube中的角色设置与数据级权限控制
- 实现基于组织机构的数据集权限系统的设计思路讲解
- 数据权限的实现
- 通用数据级权限控制解决方案的实现(一):Cube中的自定义DLL
- 大数据读写分离实现的例子
- [SQL2005 BI] 数据级权限解决方案
- AngularJS实现前后端分离模式下的权限控制
- 得到组织机构的上下级的数据
- 组织机构对象模型设计及实现
- Fiddler 之AutoResponder
- 【LeetCode】 92. Reverse Linked List II C语言
- SUSE 11 sp3下安装ftp服务
- LeetCode417
- SQL保存单引号
- 实现BPS组织机构数据权限分离解决方案
- HTTP 协议详解
- DTcmsV4.0分析学习——(2)系统框架
- Android解包命令:unpackbootimg与打包命令:mkbootimg使用
- GreenDao教程(4):GreenDao + RxJava
- Android MVP模式简单例子实战
- opencv3.2.0,contirb,cmake所碰到的一些问题记录
- Error:org.gradle.api.internal.tasks.DefaultTaskInputs$TaskInputUnionFileCollection cannot be cast to
- Relative Ranks