系统帐号管理及权限配置体验总结
本文介绍了员工帐号管理的模块划分,分析了各个模块的功能点,对功能的操作体验、存在的问题做了一个总结。
组织结构又调整了!
这对于公司员工在自建系统中的帐号、功能权限、操作权限管理的我来说,不是一个好消息!功能过度模块化、不必要的关联关系、无法检索、无法导出等细节功能都使得这样的调整耗时耗力。在这些功能的实际使用的过程中,对这些功能的操作体验、存在的问题做了一个总结。
首先介绍一下公司基本的背景。公司属于集团形式,下属多个公司,每个公司的组织机构不同,职位名称不同,组织架构的层级也不同,且存在一个员工在两个公司或者多个部门任职情况。某子公司有实际的业务数据产生,且存在一定的业务流转逻辑,同时出于信息安全的需要,员工要有不同的操作功能以及数据查看不同的有限性。
一、功能模块划分
列出整个员工帐号管理的模块划分,以及模块划分存在的问题:
功能模块
总结:
- 在模块化的基础上,将耦合度高、操作会同时发生的功能(例如员工管理和帐号管理,员工的手机号码及邮箱几乎是不会发生变动的,因此涉及到员工和帐号操作基本上只有入职和离职两个功能)聚合在一起。
- 将可以自定义的信息使用最灵活的方式完成(例如职位,由于组织机构调整,经常会增加职位,修改职位名称,如果不能方便灵活的修改及变动,使用起来会非常麻烦)。
- 数据权限在公司目前系统中仅支持横向数据权限设定,未支持纵向数据权限的设定。横向数据权限一定要能够做到最小单位,这样的可扩展性和灵活度更高,无论公司机构如何改变,都方便管理。
二、各模块主要功能点
1. 组织机构
组织机构 Feature
注意事项:
- 树形结构优点就是直观,直观存在上下级的关系。但由于系统中缺少排序功能,反而导致了同类部门分散显示,所以这里可以考虑有排序功能;
- 由于数据权限是指定到部门的,也就是部门A产生的数据,部门A下的员工默认可以查看,同时其他员工可以通过数据权限分配部门A数据的查看权限;同时因为部门A这个信息未存储在业务数据表中,从而导致部门A一旦被删除,将会导致原来可以查看部门A数据的人全部失去该权限。对于这种情况有两个方案:A、将权限信息存储在业务数据表中,不依赖组织结构;B、部门可以停用启用,但不可删除。
2. 职务管理
职务管理 Feature
注意事项:
- 新增职务的时候需要同时设定职务级别,这导致:职务设置的时候总是不知道该如何定级级别,到底已经用了多少个级别;同时也导致了职务级别混乱、设置不直观。
- 如果职务要有级别关系,将级别与职务增加拆分为两个功能,且职务列表中支持按照级别正序/倒序排列。
3. 员工管理与帐号管理
笔者所使用的系统,如果想增加一个帐号,需要经过一下几个步骤:
- 增加一个员工(需要先判断是否有部门,如果没有需要增加部门;接着判断是否有员工对应的职位,如果没有增加一个职位);
- 新增一个账号,同员工信息关联(迭代优化后:增加员工的时候,可以选择同时开通帐号)。
- 为帐号增加数据角色、操作角色(是否有对一个的角色,如果没有请添加);
对于笔者目前使用的系统来说,增加一个员工等于增加一个账号;一个员工离职,等于停用一个账号;员工部门调整或职务调整,等于操作角色及数据角色的调整。可以看出,员工管理同账号管理耦合度很高,虽然侧重点及功能有所不同,但关联关系非常紧密。
是否需要独立的员工管理,这取决于平台的需求。但对于一般业务类的系统来说,帐号管理(包括对应的员工信息)就可以满足大部分的需求了,反而是独立的员工管理用处不大。因此,主张将员工管理及帐号管理合并为员工帐号管理即可。
员工管理 Feature
帐号管理 Feature
注意事项:
虽然员工管理与账号管理合并为员工帐号管理,但仍然建议在数据库中将帐号及员工存储到两个表中,以增加可扩展。
- 员工管理以人为本,即:除员工姓名、性别、手机号码(考虑到重名的可能,且手机号码不轻易更换)之外,其他均为可变动信息,均附属于员工的自然信息,帐号管理也是同理。例如,如果一个员工属于两个部门,那么对于员工来说,部门中有两个部门名称;从部门查看来说,两个部门中能够查到员工,无论从哪个部门的员工信息中去做查看或者修改详情信息,都可以看到员工属于多个部门的信息。
- 员工帐号列表字段需要直观的反应员工的自然信息、帐号信息以及权限信息。
- 为帐号分配操作角色、数据角色,可以在一步中完成,不需要为一个账号单独分配操作角色一次、数据角色一次。
- 常用的搜索条件有:员工姓名、部门、帐号状态(启用/停用);其次会用到的搜索条件:职位、操作角色、数据角色;手机号码和邮箱地址是根本不会用到的,所以不要作为搜索条件。
- 如果员工帐号的启用和停用意味着员工的入职和离职,那么建议在操作帐号停用的时候将帐号对应的数据角色、操作角色完全清空。
- 员工帐号信息建议可以支持导出功能。
4. 操作角色及数据角色
操作角色、数据角色 Feature
注意事项:
特别要说明的是数据权限,权限要分配到最小单元。且数据权限分配依据的是业务数据中独立存储的数据的归属信息。
角色(包括操作角色、数据角色)列表中显示出拥有该角色的人数,可以点击进入到员工帐号中进行搜索。
最后,后台数据管理枯燥乏味,在考虑成本的基础上,更多的注意细节以及体验,会大大的缩减维护时间,提高效率。
本文由 @awai827 原创发布于人人都是产品经理。未经许可,禁止转载
题图来自Unsplash,基于CC0协议
挺完善的,受益了
我想请教一下作者,员工的岗位和角色不一样吗?比如财务这个角色也是岗位吧,我理解的是员工关联角色,该角色拥有什么权限,那么属于该角色的员工就有什么权限。难道一个员工的角色和岗位会有不同,那怎么取定义权限?
同一个岗位角色也可能不同呢
我想问下 一个角色对应多个岗位的这个怎么理解呢
角色可以和岗位相同,但角色可以包括更多的内容。例如财务人员是一个角色,也可以设置一个财务管理员的角色,那么财务管理员的角色在财务角色的基础之上就会再增加管理和配置的功能。
目前我也在做cms配置系统管理,组织机构存在多级,涉及账号与权限管理,方便加个微信沟通下吗?我的微信1152481807🙏
请问数据角色配置的单位是部门吗,比如赋予财务角色 销售部和市场部 的数据权限?还是以功能模块为单位呢?
这个依照实际需要配置就可以了。数据角色其实和操作角色是一个道理,只不过一个是代表操作功能,一个代表的是所获得数据的范围
你说的对,数据权限就是具体到部门,组等
临时工,实习生,外包人员,如何管理呢?
这个真的没有经验。但如果我遇到这个问题,我会先看:1、角色在业务中都会涉及到哪些流程,哪些功能;2、如果这些角色转正后会有什么变化;3、这个角色离开是如何变化;4、在考虑这个角色是否存在互相转换;5、最后,梳理整个业务流程,然后再考虑这些人员如何管理。
建议画一下原型图,或者业务流程图,一个员工属于多个部门会有哪些问题,需要如何解决,这些可以多讲讲
我们的系统还有自建的审批,因为自己给自己挖了个大坑,导致员工属于多个部门的问题特别突出。在这样情况下,可能会不够客观,谢谢你。
如果有兼职人员呢?
抬杠啊,哈哈哈
加个“兼职”的职务呀
兼职没有遇到过,得看具体的需求是什么。其实兼职只是工作时间的问题,相对于所兼的职务没有影响,可以从操作功能和数据权限去限制
简直是属于无offer的,需要走另外的流程,其他功能不变,相当于为这批用户加了标识。