实现BPS组织机构数据权限分离解决方案

来源:互联网 发布:mac照片文件夹在哪里 编辑:程序博客网 时间:2024/04/28 13:20

阅读原文


需求描述:

 在使用workspace流程定制功能时,总公司辖下a子公司,b子公司,a子公司流程参与者设计时只能看到a子公司及其下级机构、角色、人员;

 b子公司同理。a、b两个子公司之间不存在跨子公司的流程需求。
         即a子公司职员a1通过第三方系统单点登录workspace流程定制功能,设计流程环节参与者时,如下图所示(例子)

 

实现步骤:

  1. 业务目录权限事先需在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角色下的人员:

 

附件下载:WFOMServiceImpl.class
0 0
原创粉丝点击