Skip to content

应用角色管理

概述

应用角色管理模块是一个用于创建和管理应用程序中不同角色和权限的模块。

角色管理的概念

该模块允许创建和配置不同的角色,并将这些角色赋予在其他模块中具有不同增删改查权限的能力。这些角色可以被用于应用成员管理模块中,赋予不同的成员不同的应用权限。织信平台提供的应用角色管理模块的目标是帮助应用管理员在不牺牲安全性和数据访问控制的情况下,提高应用程序的可用性和可管理性。

Role_Permission

用户可以拥有多个角色,而拥有多角色的用户在应用中所具备的权限是具备角色权限的并集。 mult_role.png

自定义角色

该模块创建的角色是自定义角色,与设计器中全局设置下创建的角色有所不同,在应用设计中创建的角色,后方会有系统的标签,而在我们应用角色模块创建的角色会在后方有自定义的标签。其中应用设计器全局设置创建的系统角色会在导出应用时也会被导出,但应用角色模块创建的自定义角色并不会随着应用导出。 应用角色管理模块实现了在不访问设计器的前提下,应用成员可以在应用运行时自定义配置应用相关的角色权限,且不用重新发布应用的版本。

role-main.png

INFO

自定义角色将作为应用数据进行存储,自定义角色将不会随安装包被导出

以下是应用角色管理模块的主要功能:

角色创建

允许应用管理员(也可以自己定义其他角色)创建不同的应用角色。 角色创建

权限分配

允许应用管理员(也可以自己定义其他角色)将已创建的角色,授予应用内创建模块的增删改查权限。

权限分配

角色管理

允许应用管理员(也可以自己定义其他角色)编辑、删除已创建的角色,并为每个角色重新分配权限。

角色管理

INFO

  • 查看模块的权限表示导航菜单栏会显示模块菜单
  • 数据表权限中的查询数据 创建数据 编辑数据 删除数据 是数据权限,不会影响到控件按钮的显示可禁用状态

自定义权限

为了满足更丰富更细致的权限管理能力,织信平台支持在应用设计中针对应用或者指定模块设置自定义权限,完成设置后可通过表达式中的Context.hasAppPermContext.hasModulePerm()方法判断当前用户是否具备该自定义权限,从而实现权限控制效果。

示例

角色权限-成员模块中加一个自定义权限,名称为创建项目,只有拥有此权限的成员才能在此模块中看到创建项目按钮。

配置过程:

  1. 在权限管理的【角色权限-成员】模块中加入创建项目权限
  2. 在【角色权限-成员】的表单工具栏中加入一个创建按钮
  3. 在该按钮中使用Context.hasModulePerm()设置条件隐藏

在权限管理的【角色权限-成员】模块中加入创建项目权限:

  1. 进入应用设计器中,打开全局设置,进入角色权限板块中,点击<权限管理>按钮
  2. 在弹框中找到【角色权限-成员】模块,点击下方的<新增权限>按钮
  3. 输入需要新增的权限的信息,点击保存即可。这里的标识符将在后续调用方法时使用,请务必按照规范进行命名 role-diyPermission.gif

在【角色权限-成员】的表单工具栏中加入一个创建按钮:

在应用设计器中打开【角色权限-成员】模块,进入视图设置板块,打开工具栏标签页,添加一个创建项目按钮控件,该控件的配置如下: role-diyPermission2.gif

在该按钮中使用Context.hasModulePerm()设置条件隐藏:

在控件中的满足表达式时隐藏配置项中,使用Context.hasModulePerm()方法进行设置,使得配置实现当用户不拥有权限时进行隐藏。点击此处可查看该方法的帮助文档。表达式内容如下:

js
${!Context.hasModulePerm('rolesUser','createProject')}

role-diyPermission3.gif

效果展示

主管角色具备创建项目权限。 role-show1.png

成员角色不具备创建项目权限 role-show2.png