用户与组织管理
更新时间:2024-04-14 18:20:53用户管理
左侧导航选中用户列表,在本页以列表形式查看当前已注册和创建的用户账号,管理员可手动创建/导入用户、编辑用户信息、屏蔽和删除账号。
创建和导入用户:在弹窗中输入用户信息和密码点击提交,将新增一个用户账号。此外,用户账号支持通过导入Excel文件的方式批量创建,导入时先下载模板文件,再按要求填写和上传。
查看用户信息:点击列表的查看操作,进入用户信息页,信息分为基础信息和扩展字段,基础信息即账号默认具备的基础字段,扩展字段相当于额外补充的资料信息,心允许管理员为用户添加自定义字段。
编辑用户信息:点击编辑按钮后,管理员可修改用户信息,点击确认保存按钮进行更新。
用户访问日志:除了用户信息外,管理员还可以查看用户最近的访问日志。
组织机构
用户中心的组织/部门信息采用树形结构,可以点击左侧箭头逐级展开子部门,右侧为可用的部门操作,如部门设置、移动和删除。
创建部门:点击创建部门在弹窗中输入部门名称,可选择一个已创建的部门为父部门。若无父部门,则创建一级部门。
部门支持管理员手动创建或通过Excel文件批量导入。
应用权限管理
更新时间:2024-04-14 19:40:42基于ABAC的权限管理系统
用户中心权限采用ABAC(基于属性的权限管理)框架,相比RBAC(基于角色的权限管理),ABAC更加灵活,支持将各种用户属性,比如组织,职级,角色作为权限判断的依据,自定义访问规则。
在RBAC中,通过将用户绑定角色,角色绑定权限,权限绑定资源的对应关系,来配置每个用户的资源访问规则。在ABAC中,不存在严格的角色与权限的概念,直接使用访问的属性来定义资源规则。访问的属性,可以是访问用户的某个属性,或者访问地点,时间环境等属性。举个例子,我们可以定义当用户的职级大于5,且组织属于广东分公司,且访问时间在工作工作日时间,才可以访问某个服务。下图大致说明了RBAC与ABAC权限管理系统的区别:
如上图所示,RBAC通过三层对应关系,来控制每个用户对资源的访问权限,而ABAC则是直接使用用户属性(还可以额外添加环境属性)来作为规则的判断依据,以决定一个访问是否合法。规则的定义可以非常灵活,而不是简单的对应关系。在下文的规则定义中,我们会详细介绍怎样配置规则。
黑名单模式VS白名单模式
进入权限管理页,我们首先需要设置权限控制模式:
当一个应用刚刚绑定用户中心,默认情况下,资源的访问为白名单模式,即拒绝所有用户访问,仅当配置了规则的资源(白名单中的资源),且规则判断允许的情况下,才允许访问。我们也可以将默认访问模式,设置为黑名单模式,即默认允许所有访问,仅配置了规则的资源(黑名单中的资源)才根据规则来判断
资源的登记
在线上环境,预览版只要手动点了保存按钮或推送了多人开发版本,当前应用的资源,就会自动用户中心的预览版本数据库中进行登记;发布版本,在上架时,会自动在用户中心的发布版本进行登记。
在私有部署时,只需要将绑定了用户中心的应用进行部署,且微服务系统正常工作,那么应用资源就会登记到当前已部署的用户中心中。
服务与数据库资源规则配置
在用户中心的权限管理页,左侧是已和用户中心绑定的应用,右侧展示每个应用的资源访问规则,资源分为两种,服务与数据库:
服务权限配置面板是一个树形表格,包括资源名称、描述和规则。服务的结构由其所在应用的对象树自动生成,对象容器作为服务组统一管理其内的多个服务,服务组和服务一样也是资源。每个资源都可以设置一或多条规则,如果没有设置规则,则使用父层规则。如果子层规则父层规则冲突,则以子层规则为准。
数据库配置面板,管理员可以针对应用内所用的表或字段进行单独的规则设置。点击箭头可展开查看表内所有可配置的字段。
添加规则:点击添加规则按钮,管理员需要现在窗口中选择资源,例如选择一个服务或服务组。在下方配置规则条件时,管理员可以选择用户的各项属性、角色和部门等,配置条件表达式。
最后,设置授权作用和授权操作。授权作用的意思是符合条件的请求结果是允许(有权限),或是拒绝(无权限)进行授权操作。
授权操作根据资源类型有不同选项:
1)如果资源是服务,则不需要指定调用服务;
2)如果资源是表,则可以选全部(),筛选输出(select),新增(insert),更新( update), 删除(delete);
3)如果资源是字段,则可以选(),筛选输出(select),更新( update);
规则除了支持json配置,后续也即将支持可视化配置,配置方法类似事件面板的条件配置块。
点击蓝色按钮可查看规则填写说明。
##
用户中心自定义 更新时间:2024-04-08 09:32:41
用户中心,是一个普通的iVX应用,我们可以针对其用户登录、管理、权限配置逻辑进行自定义。以下是一些常见的逻辑的修改方法:
1、用户注册登录
默认状态下,用户中心自带一个用户表,用户的注册与登录,都是操作这个表。我们可以在这个默认用户表中添加字段,或者直接跳过默认用户表,使用一个第三方的api或微服务来进行登录。只需要在用户注册与登录服务中,注释掉原有逻辑,添加上自定义的api请求逻辑即可。
注意,登录服务中写入redis缓存的步骤不可删除,且用户信息,需要写在userInfo字段中,此字段名称不能修改,否则会导致业务应用无法正常对接。
2、组织架构
默认状态下,用户中心使用一个自带的组织架构表,来存储组织信息,并使用一个组织-人员关系表,来存储人员与组织的归属关系,一个人员可以归属于多个组织。用户中心自带组织架构编辑与导入界面。如果需要从第三方数据源来获取组织架构以及人员与组织的对应关系,则可以跳过默认组织管理功能,在用户登录时,请求一个第三方API,或直接在用户鉴权API中获取到组织信息。
注意,如果要使用自定义组织信息的逻辑,需要在登录写入缓存的时候,将组织ID(一个独立唯一的组织标识)写入在userInfo字段的deptId字段中。如果需要根据组织来配置访问权限, 那么这一步不能忽略,且字段名称必须叫deptId。
3、应用资源配置权限
默认状态下,用户中心使用自带的admin登录系统来管理权限配置人员,如需使用第三方鉴权系统,可在admin登录模块,接入自定义API。
4、应用资源权限配置模块
应用资源的权限配置界面,仅支持在UI上进行修改,具体的资源数据格式与规则保存格式不支持自定义,否则需要同步修改业务应用中权限处理逻辑。在企业整体系统私有部署时,此逻辑可以支持定制开发。