永洪社区

标题: 让企业管理更高效,永洪BI权限管理系统详解 [打印本页]

作者: 寻找新技能    时间: 2020-7-20 10:49
标题: 让企业管理更高效,永洪BI权限管理系统详解
权限管理系统是每个B端产品都绕不过去的问题,好的权限管理系统具有可以明确企业内不同人员、不同部门的分工,降低操作风险发生概率,便于管理等优势。
传统的权限管理往往授权方式单一、维护成本高。永洪BI的权限管理系统,经历了若干版本迭代,具备高度灵活性。管理员可以批量导入用户数据,轻松维护企业组织架构。系统提供了用户授权、分组授权等多种授权方式,同时支持页面化设置数据行级列级权限,可满足不同规模企业的授权需求。本文将带你深度解析永洪BI权限管理系统。
一、RBAC模型
永洪BI权限管理系统设计整体上参照RBAC模型,RBAC模型全称为Role-Based Access Control,即基于角色的访问控制。在此模型中权限与角色相关联,用户通过成为适当角色的成员而得到这些角色的权限。

RBAC模型


有些读者可能会有疑问,如果去掉角色概念,直接将用户与权限进行绑定是否可以减轻工作步骤?对于人员较少的企业来说确实可以,但是对于中大型企业,组织结构庞大且复杂,如果再直接将用户与权限绑定,会造成大量重复的操作和冗余的权限数据。当用户身份发生变更时,还需要重新梳理绑定。所以将权限封装成角色,在赋予给指定用户和分组,可以大大提升效率和稳定性。
为了兼容各种规模的企业,永洪BI认证授权模块包含了用户管理、分组管理、角色管理和授权编辑四部分,管理员可选择直接对用户授权,也可以选择通过角色授权。

认证授权模块


1、用户管理
在用户管理中,管理员可完成对用户的增删改查操作,维护用户基础信息,添加分组和角色,以及对单个用户添加权限。

用户管理界面


2、分组管理
分组可以是企业中的组织架构,也可以是业务群组。永洪BI中分组支持树状的层级结构,管理员可以管理分组的层级,在某个组内添加用户。
当某个组内的所有用户都具有相同角色时,可以将角色直接添加在分组上,根据继承原则,分组下的所有用户都会自动添加到该角色。同样管理员也可以对单个分组进行授权。

分组管理界面


3、角色管理
角色可以是企业中的职位,也可以特指拥有某一类权限集合的对象,如数据管理员主要负责数据库对接及数据处理,运维管理员主要负责系统运行管控等。在角色管理中,管理员可以给角色添加权限,并将角色添加给指定用户和分组。
考虑到不同角色的权限可能差异不大,所以产品支持角色复制功能,可以将一个角色的权限一键复制给其他多个角色,管理员再对其他角色做剩余调整即可。
产品也默认提供了几个内置角色:
admin_role:超级管理员,拥有系统所有模块和资源的权限,可以管理全部用户、组、角色。
groupAdmin_role:组管理员,可以管理所在组内的用户,可以创建角色。其拥有的权限由admin进行指定。
everyone_role:所有用户都默认拥有的角色,拥有若干基础操作权限。
developer_role:报告管理员,一般为报告制作人员,用户优先级会自动降至较低

角色管理界面


4、授权编辑
授权编辑模块提供了另一种授权角度,即可以从资源层面进行授权。当系统新增了一个资源,涉及若干个角色的改动时,可以直接在资源上进行调整。

授权编辑界面


二、继承
继承规则也是永洪BI权限系统的核心之一。在上文中也有提及,用户可以继承其所在父组的权限和角色,获得相应权限,也可以继承其拥有角色的权限。
利用继承规则,可以大大减少重复授权的操作,便于权限的更新与扩展,因此需要管理员合理规划系统组织架构,将权限的最小集合封装为角色,然后赋予给相关的分组和用户。对于个别用户拥有额外权限,可以再单独授权。
产品中通过页面样式的变化,也可以区分出权限的不同状态:


如果是灰色勾选,说明权限是从分组或角色处继承而来。


如果是绿色无勾选,说明拥有文件夹下面某些子项的权限,但是没有父项的权限。
如果是绿色勾选,说明权限加在自身。
三、行级列级权限
除了对资源和操作进行权限管控外,数据安全管控也是B端产品极为重要的部分,企业数据往往有严格的业务等级划分,例如销售经理可以查看整个部门的销售数据,而销售组长仅能查看本组的数据等。因此永洪BI设计支持了数据行级和列级权限管理。
行级权限可通过行过滤器配合内置参数实现。举例说明:假设有一张业务表A,记录了北京和上海地区咖啡和茶两种商品的总销量。小明是北京地区的销售经理,可以查看北京的全部销售数据,小红是上海地区的销售经理,可以查看上海地区的全部销售数据。我们可以设计权限表B,将用户与地区一一对应起来,然后通过内置参数?{_USER_}过滤出每个登录用户所对应的地区,在以此作为条件过滤业务表。

业务表A


业务表A过滤条件:地区 是 其中一个 ?{region},?{region}赋值为权限表B的地区列。

权限表B


权限表B过滤条件:用户 是 = ?{_USER_}
列级权限较行级权限更容易理解和设置,可以直接在元数据界面上添加过滤对象,支持过滤用户、组、角色。此外还支持白名单过滤和黑名单过滤:黑名单为所选值不可见该字段,白名单则相反。

列权限设置界面


以上即为永洪BI权限管理系统设计的基本内容,希望通过本文,能让你对权限管控有更深刻的理解。



作者: BoJie    时间: 2020-7-20 11:12
给你点个赞,么么哒!
作者: flychen    时间: 2024-1-31 13:50
赞,写的相当详细
作者: 烽火连三月    时间: 2024-1-31 14:13
学习了!
作者: oscarxu    时间: 2024-2-7 10:22

作者: oscarxu    时间: 2024-2-7 10:22

作者: oscarxu    时间: 2024-2-7 10:22

作者: oscarxu    时间: 2024-2-7 10:22

作者: oscarxu    时间: 2024-2-7 10:22

作者: oscarxu    时间: 2024-2-7 10:22

作者: oscarxu    时间: 2024-2-7 10:22





欢迎光临 永洪社区 (https://club.yonghongtech.com/) Powered by Discuz! X3.4