java工作流引擎-工作流开发框架-集团模式权限设计ccbpm的22条规则.
1.1: 集团模式下的权限描述如下
- 整个集团的部门是一棵大树,只有一个根节点,根节点的parentNo的编号为0。部门的表的主要字段是No,Name,ParentNo,
- 组织的概念就是独立岗责体系的子公司或者单位,组织里有一个或则多个管理员。
- 集团中admin是超级管理员,admin可以把一个部门节点设置为一个组织。
- 一个二级管理员可以管理多个组织,admin也可以有多个组织的管理权限。
- 二级管理员或者admin登录后,如果有多个组织系统会让其选择要登录那个组织进行管理?
- 选择一个组织登录之后,这个管理员,仅仅可以管理本组织的流程,岗位,部门人员信息。如果要管理其他的组织信息,需要切换。
- 组织之间的权限是通过OrgNo进行隔离的。
- 每个人员登录之后,就有WebUser.No, WebUser.Name, WebUser.FK_Dept, WebUser.OrgNo 等登录信息。
- 每个流程都有适用范围,在流程属性里可以配置。一个组织的可发起的流程,是由两部分组成的+ 本组织设计的流程+其他组织设计的流程设置了适用范围的流程。
- 对于表单的权限规则参考流程的规则,也有适用范围。
- 用户组与岗位都是对人员的分组,对人员的权限划分。
- 用户组是集团的概念,仅由admin维护。
- 岗位则是每个组织都有自己的一套独立的岗责体系,由自己的组织管理员来维护的。
- 用户组,用户组类型没有OrgNo, 但是岗位,与岗位类型有。
- 用户组类型,岗位类型,都是为了方便管理员操作的方便,没有计算意义。
- 一个操作员可以有多个部门,数据存储到Port_DeptEmp,里面FK_Dept,FK_Emp两个列。
- 一个操作员在一个部门下可以有多个岗位, Port_DeptEmpStation , 列如下:FK_Dept,FK_Emp,FK_Station. 三个外键列存储。
- 操作员与用户组的关系存储在 Port_TeamEmp表里, FK_Team,FK_Emp 两个列。
- 一个操作员,有三个维度来控制,用户组、岗位、部门。
- 为了方便我们管理,我们把岗位或者用户组划分为,抽象的岗位,实际的岗位,抽象的用户组,实际的用户组。
- 比如我们把岗位划分为:部门负责人岗位,部门领导岗,信息部主任岗,信息部副主任岗。张三有部门负责人岗位,信息部主任岗。李四有部门领导岗,信息部副主任岗位。这样换分有利于我们在绑定节点岗位的时候容易处理。
- 用户组的概念是集团的admin管理员统一管理与维护的,可以下分到每个组织可以使用。在节点访问规则支持绑定用户组功能。r
如果有兴趣可以下载 http://ccflow.org/down.htm 参考驰骋工作流引擎的设计。