用户和角色的权限配置实例
本文将通过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、当记录的状态被否决时,自动将拥有者设定为记录的创建人。 那么他的权限又回来了,就可以编辑了。
我们先把角色中的配置完毕,如下图,查看时是全部,编辑时只能编辑拥有的。
工作流的实现
在上面一步,需要根据状态配置工作流。
在创建申请记录后触发工作流,提交审批。在审批前,先将记录的拥有者清空,将审核状态设置为 审批中。
在后续的审批中,如果否决了,就将拥有者改为创建人即可。那么他的权限就回来了。
实现效果
文档问题反馈
文档中是否有错别字、内容过期、难以理解等问题? 点此给我们反馈吧