为什么要写权限设计?讲一下背景:

接手了 EHR 系统权限设计相对简单,是直接采用用户+权限的模式。在项目初期能快速的完成场景需求,但随着业务的发展,薪酬计算、入离职审批、各种行政&人事通知,这种模式越来越不能满足需要了,而且研发每次调整,也是花费不少时间,也是非常的麻烦。

注:EHR 系统:即人力资源管理系统,通常包括员工管理、薪酬核算、入离职审批、绩效系统等,主要是通过自动流程,减少人力化部门的工作量。

所以就开始做权限的升级。正好星球群的小伙伴也想了解下设计过程,我就简单介绍下。

做权限系统的目的很简单:维护方便,权限清晰。我们基于经典的权限模型RBAC(Role-Based Access Control)的思想设计,来优化下 EHR 的权限系统。

我就以实际项目的进展,来看 项目在不同阶段,怎么设置权限的。

01

简单的权限管理:用户-权限

HR 项目刚开始只有一个「员工花名册管理」,只有两个角色,人事管理+HRBP,总的人数不超过 10 个。

权限有新增/批量导入员工信息、修改和查看员工信息。人事管理有增删改查权限,HRBP 只能查看。

原来的产品经理,得到的需求很简单,就是只做员工管理,也没有想到,EHR 项目会变成一个集员工管理、薪酬核算、入离职审批、绩效管理为一体的大工程。

所以前期就简单的做了:用户 - 权限。

这种方式,适合小工程和小团队,并且不复杂的业务,研发和管理员能快速的进行配置,完成业务需求。

02

引入角色概念:用户-角色-权限

接下来 EHR 系统进入了发展期,薪酬核算、社保核算等功能列入开发计划,用户也逐步增多,并且有一定的流动性。

团队每加入一个小伙伴或有转岗,就需要研发同学协助配置一系列权限,每次发布新功能,也都需要研发初始化一波权限,

特别是 EHR 的产品和研发同学,是没有线上系统权限的,一旦发生因为权限配置遗漏,导致某些员工不能正常使用新功能,我们都无法知晓。还有薪酬模块,HRBP 和人事管理需要权限隔离,是不能查看的。

现在的权限模型开始升级,尝试使用 BRAC 权限模型,在用户和权限中,加上角色的概念。

新增了角色:HRBP、人事管理、薪酬管理员、社保专员等。

由于员工薪酬和社保信息,属于公司机密,只能由薪酬管理员和社保专员有查看、修改的权限,在权限的基础上,增加了「薪酬密码」功能,权限+薪酬密码,双重认证才能查看薪酬等隐私内容。

上线后新员工入离职、调岗等,只需要配置下角色就可以了。

03

细分化:用户-(组织+角色)-权限

随着EHR 系统模块增加,新增了如部门助理、IT、行政、团队负责人等等角色,分工也更加清晰。有些角色是不需要登录 EHR 系统,但需要收到系统通知,越来越多的消息,反而成了业务团队的负担。

  1. 比如说原来 HRBP 可能负责一个大的业务团队,现在要负责大团队下 2、3 个小业务线。
  2. 入离职流程要通知对应团队的部门助理、it 等
  3. 某些员工具备多角色,如员工 A 是部门助理,但又负责内部系统权限管理员,除了要收到每个月本部门的员工生日等提醒,还有负责关闭离职员工的内部系统权限。

这需要在原有的角色基础上,增加所属组织。当用户使用某功能的时候,根据角色和所属组织,来进一步约束。

上线后的效果:

1. 身兼数职的助理小姐姐虽然通知类消息也很多,但与其无关的都去掉了。

2. 权限更加收紧,HRBP 小姐姐也只需要管理负责的业务团队的事情。

04

权限设计:权限树+权限点

权限管理可以分为权限树和权限点。比如说「员工信息管理」是个权限树,包含增加、修改、删除等权限点。

功能权限通过对角色的权限树进行修改来实现。

需要注意的一个问题是,要定义好权限的最小粒度。如果要实现每一个权限的控制,相当于每一个权限对应功能都需要做封装。大的页面权限是必备的,但是有一些权限是可以封装在一起,比如说「添加员工」和『批量导入员工信息』,这些是需要产品考虑的。

权限的具体设计,不做重点说明。

05

小结

以上就是简单的 RBAC 权限设计,尽管是基于 EHR 系统,但万变不离其宗,都是基于 RBAC 的 3 个关键元素:用户 – 角色 – 权限。

作者:南南 把经历和经验分享给更多的产品经理,助力更多产品经理成长。

delphi7 增加管理员权限_EHR系统的权限设计相关推荐

  1. delphi7 增加管理员权限_测试用例管理系统 TestRail管理员手册

    关注BeTester,学习更多知识 让碎片成体系,让测试更专业 1.概述 没有规矩不成方圆.如果每个人都是测试用例管理系统的管理员,那么灾难接踵而至.为了加强防范,降低操作失误所带来的风险,需要对系统 ...

  2. 计算机用户组怎么更改权限,win7系统用户组权限怎么设置

    一般Win7旗舰版系统新建的用户帐户都是普通用户,导致用户在使用的win7系统的时候,很多权限被限制,那么怎么设置用户权限呢?今天小编为大家带来win7系统用户组权限怎么设置的详细步骤. 具体步骤如下 ...

  3. Linux攻关之基础模块九 系统基本权限

    Linux系统权限 Lin系统基本权限 Linux系统特殊权限 Linux系统ACL Linux系统权限 r-- 100 4 -w- 010 2 --x 001 1chown:Linux中用来改变某个 ...

  4. 计算机管理员永久访问权限,win7系统账户怎样永久获取管理员权限?

    win7系统账户怎样永久获取管理员权限? 腾讯视频/爱奇艺/优酷/外卖 充值4折起 win7系统账户怎样永久获取管理员权限? 1.点击开始菜单,在"计算机"上单击右键选择" ...

  5. w7如何取得计算机管理权限,win7系统如何获得管理员权限

    win7系统如何获得管理员权限?Win7系统的默认账户虽然是管理员账户,但在很多时候,还是会对某些操作进行限制.比如说在删除某一个文件是,要开启管理员权限来获取对计算机的最高权限.今天小编整理了win ...

  6. Mysql —— C语言链接mysql数据库,实现可以增删改查的角色权限登录系统

    /******************************************************************** * 标题:C语言链接mysql数据库,实现可以增删改查的角色 ...

  7. linux 权限777_Linux编程之权限系统与工具使用(二)

    阿里P7移动互联网架构师进阶视频(每日更新中)免费学习请点击:https://space.bilibili.com/474380680 本篇文章将继续通过权限系统与工具使用来阐述Linux编程: 一. ...

  8. Oracle的对象权限、角色权限、系统权限

    Oracle的对象权限.角色权限.系统权限 一.用户与模式 用户:对数据库的访问,需要以适当用户身份通过验证,并具有相关权限来完成一系列动作 SYS用户,缺省始终创建,且未被锁定,拥有数据字典及其关联 ...

  9. cognos java用户权限_Cognos 权限管理之第三方目录管理员器、报表服务器权限管理、FrameWork权限管理等详细配置 【39页深度好文图文并茂带你全面了解Cognos权限管理】...

    一.引言 1.1. 编写目的 本文档是结合以往的开发经验,从实际报表开发出发,详细介绍了ReportNet报表设计流程.开发技巧,报表性能调优.FM建模规范及技巧讲解.总结的文档希望对大家在日后的开发 ...

  10. 权限系统 6_1权限管理

    硅谷通用权限系统:权限管理 一.权限管理 1.权限管理介绍 每个系统的权限功能都不尽相同,各有其自身的业务特点,对权限管理的设计也都各有特色.不过不管是怎样的权限设计,大致可归为三种:页面权限(菜单级 ...

最新文章

  1. python--函数
  2. python在哪里写代码比较适合-适合练习的10个Python项目,每个项目都不到500行代码...
  3. Python自然语言处理学习笔记(66):7.7 小结
  4. java线程协作_java 线程间的协作
  5. Python continue
  6. 对话李飞飞,展望阿里云与MongoDB战略合作未来
  7. 计算机88端口,计算机常用端口一览表
  8. day22 Java学习 IO流(序列流)
  9. REVERSE-PRACTICE-BUUCTF-19
  10. 授人以鱼不如授人以渔,UCHome全面大解析培训【第二集】
  11. GitOps—通过CI/CD自动化构建虚拟机模版
  12. STM32工作笔记0024---什么是电流,什么是电压,什么是电阻,电阻的作用
  13. Python接口自动化测试系列文章汇总
  14. mysql数据库 integer_MySQL数据库中,常用的数据类型
  15. ROC曲线和AUC 原理与实现——Python实战
  16. PHP之mb_strrpos使用
  17. Java简答题库_java题库3-简答题.doc
  18. 为什么这么好玩?领略《塞尔达传说:旷野之息》精妙设计(上)
  19. 禁用计算机硬盘,怎么禁止电脑开机就自动检测硬盘
  20. Microsoft Word 教程:如何在 Word 中插入表格?

热门文章

  1. Python 列表(List) 的三种遍历(序号和值)方法
  2. Atitit 业务领域体系分类 目录 1. 按照互联网企业类型以及只是体系类的分类 2 2. 电子商务 2 3. **通信类社交 Im类 em 2 4. **信息搜索类爬虫 2 4.1. 媒体
  3. Atitit java ftp client sumup apache common net jar 1.1. 协议解析 1 1.2. 读取文件 1 2. } 3 1. 下载文件 ftpCli
  4. Atitit.用户权限服务 登录退出功能
  5. atitit.手动配置列表文件的选择and 数据的层次结构 attilax总结最佳实践--yaml
  6. VSCODE: 快速生成html框架
  7. 【交易技术前沿】新一代证券交易系统应用架构的研究
  8. 科技正在淘汰传统行业,这次的“倒霉鬼”是券商
  9. (转)Rust :文件分层
  10. html推箱子过关检测函数,HTML5推箱子实现