跳到主要内容

用户和角色的权限配置实例


本文将通过2个常用场景演示如何配置用户的角色权限。

多个表和1张表的配置逻辑、思路、步骤都是一样的,实例中我们按单张表(多视图)来配置。

实例一、《员工档案》应用下配置普通员工的角色权限实例

如下图的应用:员工档案

员工档案表分5个视图:

  • 《全部》视图显示所有的记录数据
  • 《在职》视图下,只显示员工状态是在职的记录数据。
  • 《离职》视图下,只显示员工状态是离职的记录数据。
  • 《通讯录》视图下,所有显示在职员工的记录,但仅显示基本的通讯信息。
  • 《我的档案》视图下,只显示当前登录账户的记录数据。

要实现的效果

1、《在职》、《离职》、《全部》三个视图只对HR可见,且可以编辑记录。

2、《我的档案》视图对所有人可见,可以修改自己的档案记录,但是普通员工不能修改工号和部门两个字段的信息。

3、《通讯录》视图对所有人可见,显示所有的表记录,但是非管理员不能编辑和删除,只能查看。 (注:通讯录视图的数据隐藏了私密字段信息,只显示联系方式)

1、普通员工的权限配置

1)视图下的查看和编辑权限

《我的档案》视图可查看,可编辑。
《通讯录》只能查看。
配置如下图

2)可操作的记录范围

点击【设置】,可以细化视图记录权限

《我的档案》下,本身只显示我自己的这一条档案记录。 所以,查看、编辑可以选择为全部。删除权限是灰色的,因为前面视图下没有分配删除权限。  

同样,《通讯录》视图下的所有数据普通员工全部可见。

3)字段权限

普通员工可以编辑自己的档案信息,但是不能修改工号和部门两个字段。 这就需要字段级的控制了。

字段可编辑一定可查看;字段不可查看,就不可编辑。

4)添加角色成员并测试

角色配置好以后,添加对应的成员并进行测试即可。

2、HR权限如何配置

前面需求中,我们可以得出:HR可以看到所有视图,可编辑所有记录。 那这个权限几乎可以和管理员差不多。如果您还希望HR可以新建工作表,创建视图,配置工作流,那么就直接加入到应用管理员即可。 如果不希望HR可以调整应用,只需管理数据,那么可以单独配置一个角色。

配置方式1

如下图:所有视图可见、拥有查看、编辑删除权限,所有记录和字段都可以操作。

配置方式2

这个方式等同于方式1,但操作起来快捷了很多。

添加HR成员测试

实例二:某种状态的数据如何禁止修改

例如在《费用报销》应用中,报销是需要审批的,如果是在审批中或已完成状态的记录是不能修改的。 只有草稿、否决状态的记录才能修改。

方法1:结合多个状态的视图实现

根据记录的状态,先分成多个视图,例如审批中、审批完成、草稿、否决等视图。

1)视图的配置

以审批中的视图为例, 审批中的视图下只能看到本人提交的且是审批中的记录。

2)角色的配置

视图下数据的操作权限
只需在 草稿和否决视图下给予编辑权限, 审批中和审批通过的视图下不给编辑权限即可。

配置可操作的记录范围
因为每个视图下的数据都和我有关,因此查看和编辑的数据范围都选择全部即可。

以上配置即可实现 不同状态下不同的编辑权限。

方法2:结合是否是记录的拥有者实现

我们知道每条记录有三种身份角色(创建人、加入者、拥有者)。角色权限中,记录的操作范围可以根据这个身份标识来决定。

1)视图的配置

可以建立一个《我的申请》视图, 这个视图下可以看到所有我提交的报销申请。筛选条件只需 配置申请人或者创建人 是当前用户即可。

2)角色的配置

视图下数据的操作权限
只需将 《我的申请》视图开放给成员。并且拥有查看、编辑和删除的权限。

配置可操作的记录范围

我们知道,查看的话可以查看所有数据,但是编辑时并不是可见并可删除,因为需要根据状态来判断。但是在数据操作范围中,只有拥有者可选择了。那么我们就需要想办法当申请记录的状态是申请中或已完成审批时,取消拥有者身份即可。

记录的拥有者默认是记录的创建人,拥有者可以设置为“未指定” ,创建人是一个静态身份,无法修改。 因此我们可以通过工作流来实现:

1、当记录的状态修改为审批中时,自动将记录的拥有者设定为“未指定”。
2、当记录的状态被否决时,自动将拥有者设定为记录的创建人。 那么他的权限又回来了,就可以编辑了。

我们先把角色中的配置完毕,如下图,查看时是全部,编辑时只能编辑拥有的。

工作流的实现

在上面一步,需要根据状态配置工作流。
在创建申请记录后触发工作流,提交审批。在审批前,先将记录的拥有者清空,将审核状态设置为 审批中。

在后续的审批中,如果否决了,就将拥有者改为创建人即可。那么他的权限就回来了。

实现效果


文档问题反馈

文档中是否有错别字、内容过期、难以理解等问题? 点此给我们反馈吧