发表于: 2019-05-11 21:07:04

1 479


今天

1温习了下敏捷开发,他的原则快速迭代 ,用户故事验收标准 、做好原型图、快测试、需求评审

2.rbac权限管理模式,怎么处理用户与角色之间的管理,权限是先赋予角色,然后在赋予用户,意思是将角色对模块赋予权限,然后在赋予用户,

RBAC0是基础,很多产品只需基于RBAC0就可以搭建权限模型了。在这个模型中,我们把权限赋予角色,再把角色赋予用户。用户和角色,角色和权限都是多对多的关系。用户拥有的权限等于他所有的角色持有权限之和,如果一个用户有多个角色,譬如王先生既负责销售部也负责市场部,那么可以给王先生赋予两个角色,即销售经理+市场经理,这样他就拥有这两个角色的所有权限。

RBAC1建立在RBAC0基础之上,在角色中引入了继承的概念。简单理解就是,给角色可以分成几个等级,每个等级权限不同,从而实现更细粒度的权限管理。基于之前RBAC0的例子,我们又发现一个公司的销售经理可能是分几个等级的,譬如除了销售经理,还有销售副经理,而销售副经理只有销售经理的部分权限。这时候,我们就可以采用RBAC1的分级模型,把销售经理这个角色分成多个等级,给销售副经理赋予较低的等级即可。

RBAC3是RBAC1和RBAC2的合集,所以RBAC3既有角色分层,也包括可以增加各种限制

角色互斥限制,基数权限,和先决条件  动态就是启动限制

RBAC-0

RBAC-0是最基础的,就是在用户与角色、角色与权限间建立关系,每种关系均为多对多。

RBAC-1

RBAC-1是在RBAC-0的基础上,增加了继承关系。就是一个角色只能有另一角色的部分权限,这个角色的权限大小受另一角色权限影响。例如:财务主管有三个权限,那么财务专员的权限一定要小于主管的权限,所以上班就不能扯犊子,只能主管可以。

如果财务主管有需求,我们还应在角色权限配置页面,给财务主管自己配置财务专员的的权限,由财务主管自由设置财务专员的用户是谁、权限有哪些,哪天主管自己一个人扯得无聊,就可以自己偷偷在配置页面给专员也开个“上班扯犊子”权限,然后两个人就可以愉快的互扯了,扯完了再自己手动关掉,美滋滋。

RBAC-2

从上面的例子中,我们可以看到,如果用户、角色、权限完全自由,随意配置,会存在很大风险,领导小舅子既当财务主管,又当老板秘书,财政大权和老板行程全被掌控。于是,老板就规定:任何一个人,“财务主管”与“老板秘书”两个角色只能二选一。

这种权限模式就是我们的RBAC-2,在用户、角色、权限三者间增加各种限制条件,例如每个用户角色最多两种:一个用户不能同时拥有某两个有关联的角色;一个用户同时只能以一种角色身份登录等等。

RBAC-3

RBAC-3是RBAC-1与RBAC-2的结合,就是既有继承关系,又有限制条件,基础都一样。

介绍完理论基础,再来分享这套理论在单系统与多系统中的应用

按用途来分,权限可以分为数据权限和操作权限。

(1)数据权限

数据权限是指用户是否能够看到某些数据。主要应用在数据有保密要求,或数据量大,需按用户或角色来进行区分时。例如:财务主管在后台可以看到公司所有人的工资流水,但普通员工只能看到自己的工资流水。

在这里,有的同学或许认为,既然我们的权限是跟角色关联,为什么“查看工资流水”这个权限精确到每个用户了呢?

其实这就是RBAC-2的一种,权限与角色关联后增加了限制条件,不过这种限制条件无法在页面上灵活配置。

数据权限的颗粒度由粗到细可以分为菜单级、栏目级、字段级,一般配置页面都可以灵活操作。

(2)操作权限

操作权限是指用户是否能够操作对应按钮。需要先有数据权限,才有操作权限,所以需要增加系统自动校验:

  • 选择了操作权限,就默认勾选了查看(数据)权限;
  • 取消了数据权限,就自动取消了操作权限

以上就是我们做单系统的权限设计分享的内容。在多系统的权限设计中,虽然理论基础一样,但因为涉及到多个系统,所以产生了很多其他问题,需要另外解决。




明天计划继续写ppt调研和振

收获

敏捷开发继续搞


返回列表 返回列表
评论

    分享到