普元EOS-用户、角色、权限的设计思路

1 前言

普元EOS作为企业应用开发,肯定要对用户、角色、权限这些内容进行管理,本文就描述这些内容EOS的设计思想,以及如何使用这些工具。

2 传统的访问权限控制

先说一个RBAC的概念,就是 Role-Based Access Control,中文意思是:基于角色(Role)的访问控制。

也就是是说,权限分配给角色,角色分配给用户,用户拥有角色 - 也就拥有了权限,有什么权限就可以访问资源。

RBAC 设计到的关键点有下面几项:

角色(Role):角色是指在系统中具有一组相关权限的抽象概念,代表了用户在特定上下文中的身份或职能,例如管理员、普通用户等。

权限(Permission):权限是指对系统资源进行操作的许可,如读取、写入、修改等。权限可以被分配给角色。

用户(User):用户是指系统的实际使用者,每个用户可以被分配一个或多个角色。

分配(Assignment):分配是指将角色与用户关联起来,以赋予用户相应的权限。

这里面,用户被分配若干角色,角色被分配若干权限,权限对应的是某个页面,或某个功能,或者是某个接口,或者是某个数据。据此,用户能否访问页面,能否使用功能,能否访问接口,能否操作数据,就确定了。

3  EOS中访问权限管理的思想

EOS在进行权限控制的时候,有以下几个关键的对象:

机构(org):包括公司、部门,还有总公司、分公司、这样的分类,感觉没必要,反正就是部门,形成组织架构。

用户(user):用户是指登录信息,包括账号和密码登登录信息。

员工(employee):机构下自然就有员工,每个员工对应一个用户账号,这是两个对象,但基本是一对一的,一个员工对应一个用户。

角色(role):角色就是一个权限组,这个很好理解。比较难理解的是角色分为平台角色和应用角色,这个是EOS特有的。

EOS启动后,一切都运行在Afcenter这个平台下,AFcenter:叫做应用联邦中心。

在AfCenter平台下集成组织架构、低开ide、工作流引擎,以及我们自己开发的微服务应用。

那么就有了平台级别的权限、角色,和应用级别的权限、角色。

为了简化开发和降低开发复杂度,我今后很长时间都只处理平台级别的角色和权限,所以这里也只针对平台级别的角色进行概念说明。

好吧,我们假设没有应用级别的角色和权限。(准确的,在EOS的Afcenter中叫业务对象,业务级别的角色,另外也没有权限,叫业务级别的资源)。

资源(resource):在EOS中,资源就是权限,没有Permission,而是Resource。

其实很好理解,权限是什么呢?权限就是能访问什么页面,能访问哪个API接口,这不就是资源吗?

因此,角色分配页面、功能,就实现了角色 - 权限的关联关系。

资源 - 页面(url):页面类型的资源,页面可以直接传入一个URL,也可以直接选择低开的表单、视图或者工作流。

资源 - 功能(function):功能是在高开中使用的资源,可以配置在接口的注解上。通过这种方式来决定能访问哪些接口。

人员与员工的关系:每个员工都对应一个人员,用这个人员进行登录。人员和员工是一个人的两个身份,人员保存这个人的登录账号和密码,员工保存这个人在企业中的身份信息。

人员与角色的关系:EOS中,人员可以分配角色,分配角色后,该人员登录后,就拥有角色下的资源的访问权限。

员工与角色关系:员工也可以分配角色,人员登录后,其对应的员工所拥有角色的资源,也可以访问了。

机构与角色关系:机构也可以分配角色,该机构下的员工登录后,也拥有该机构拥有角色的资源的访问权限。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小崔爱读书

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值