公司组织管理与权限管理的设计原则

如果有在企业内部进行信息系统设计和开发的人员,会有一个很深刻的体会,开发人员总是在授权,找不同的人员中折腾,来来回回的改动,耗费了大量的时间和精力。(这也算是中国特色,在其他地方,一般权限的设置很简单,基于角色和群组就基本能满足了)。本文基于多年内部信息系统开发的经验,尝试找出一个通用的管理框架,满足不同系统不同权限的要求。

首先我们从一个公司的组织架构和需要设置权限的资源进行总括。

名称

英文及缩写

说明

公司

Organization org

公司是一个法人的概念,一般为在政府部门进行备案和注册的实体。

部门(或叫组织单元)

Unit uni

部门一般为一个公司里面自行设定的管理范围,例如行政部、财务部、人力资源部;也可以是更细以及的,例如某某小组等。与公司的概念有明显的区别是,部门为公司内部自行设定,无需在政府相关部门进行注册。

员工

Employee emp

员工为某人与公司签订劳动合同,被公司雇佣的人员。

岗位

Role rol

岗位为公司为了满足管理需要,对不同的员工技能,工作范围等进行设定的一种归类;岗位需和组织相关联才有意义。例如A公司和B公司都有软件工程师岗位,但某位员工智能是担任A公司和B公司的软件工程师岗位,直接担任软件工程师而不关联公司,则没有意义;同时因为员工可能同时担任不同公司的不同岗位,因此岗位的组织归属是必须的,也就是说员工担任的岗位,指的是担任某个公司的某个岗位。

职级

JobLevel, lev

代表某个员工在某个公司的最高位置。例如常见的公司部门总经理级别,或公司的总裁级别;级别是一个跨部门的概念,具有同一级别的员工,代表在公司的位置相同。一般公司使用级别来管理员工的薪酬范围,及信息的传达或授权范围。

群组

Group gro

代表将某类资源(组织,岗位,职级,员工,角色等)进行一个归类。群组一般为临时进行归类的一种范围,用于沟通、项目组成员等。群组一个比较大的区别是其没有行政组织的概念,而且群组的设定可以自由设定,不受岗位、级别等的限制。

系统角色

Sysrole syr

一般用来针对系统功能进行授权的归类。例如组织管理员,菜单管理员等。和岗位的区别是系统角色是针对系统功能进行划分的,从系统的操作进行划分,而岗位则是从公司的工作内容,技能等进行划分的一个概念。

菜单及菜单授权

Menu men

为系统的导航菜单,菜单权限即为授予某个用户或某个角色的资源。

功能即功能授权

opScope osc

即操作范围,即某个系统的功能,例如菜单新增,菜单编辑等为功能;一般授予给用户或者角色。

数据及数据权限

dataScop dsc

为某个人可以操作的数据内容。例如某位员工拥有组织新增的功能,但其新增的组织仅限于其所在的公司或部门,其他公司或们的组织无法进行操作。数据权限可以授予人员、组织、岗位、级别、群组等。

页面元素及授权

pageElement, pgl

用于控制前端界面的显示、操作等的授权。

 组织展现:

如上图所示,其中一个关键点为分公司部门1,相同绿色代表两个部门为同一个部门,考虑一套班子,同时在两个组织服务的情况;由于不同的公司有自己的管理组织架构,但资源又不足的时候,这时候可以采取这种组织架构管理方式。

岗位与职级展现:

如上图所示,不同的岗位会对应相同的级别。

员工展示:

如上图所示,员工之间的汇报关系将会独立于组织架构,提供一个人与人之间的直接汇报关系。例如员工6,则会同时汇报给员工1和员工5.

通过上述的各种组织,岗位,级别,人员的设置以及之间关系的设置,则可以设置不同纬度之间的关联关系及汇报关系,从而形成一个完整的组织共享服务,供各系统进行调用。此种关系同时勾勒出的组织架构,可同时满足人力资源管理、行政管理、财务管理等不同纬度的管理要求。

权限验证:

名称

英文

说明

员工令牌

Employee token

员工令牌为代表用户的身份信息的组合,其中包含员工的工号,登陆名,所属的组织,担任的岗位,所属的职级别,拥有的角色,可以操作的功能。

权限令牌

Permission token

为资源所拥有,代表对某个资源(例如某个文件的读、下载、转发等,某个功能等)等的可执行对象。例如某个文件的权限令牌,设置了对岗位1的可读,岗位2可下载,组织1到组织2可分享。权限令牌用于校验员工令牌,以确定某位员工对此资源的可执行操作。

鉴权中心

Authorize center

用来对比员工令牌和权限令牌,以确定某位员工是否可以执行某项资源的操作。

 验证流程:

 

如上图所示,员工令牌和权限令牌就像钥匙与锁的关系,不同的是,验证钥匙是否有效,是在鉴权中心进行验证。这也提供了一个集中进行权限管理的方式。

组织管理的系统设计与实现:

功能点

实现

描述

1

一个组织可以同时归属于多个组织

Ö

2

一个岗位可以同时归属于多个组织

Ö

3

一个岗位可以同时汇报给多个岗位

Ö

4

一个职级可以同时归属于多个组织

Ö

5

一个职级可以同时汇报给多个职级

Ö

6

不同岗位归属为同一个职级

´

7

一个员工可以归属于多个组织

Ö

8

一个员工可以担任多个岗位

Ö

9

一个员工可以属于不同公司的一个级别

Ö

每个公司只能担任一个级别,为最高级别

10

一个员工可以汇报给多个员工(支持跨级汇报)

Ö

11

支持组织群组

Ö

12

支持岗位群组

Ö

13

支持职级群组

Ö

14

支持员工群组

Ö

15

支持角色群组

Ö

16

支持用户群组

Ö

那么根据上述的组织权限设计规则,我们如何去设计系统来实现呢?将在后续文章里介绍。如果对这个感兴趣,欢迎加微信交流:

 

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇
下一篇>>