跳至主要内容

用戶和角色的權限配置實例


本文將通過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、當記錄的狀態被否決時,自動將擁有者設定為記錄的創建人。 那麼他的權限又迴來瞭,就可以編輯瞭。

我們先把角色中的配置完畢,如下圖,查看時是全部,編輯時隻能編輯擁有的。

工作流的實現

在上麵一步,需要根據狀態配置工作流。
在創建申請記錄後觸發工作流,提交審批。在審批前,先將記錄的擁有者清空,將審核狀態設置為 審批中。

在後續的審批中,如果否決瞭,就將擁有者改為創建人即可。那麼他的權限就迴來瞭。

實現效果


文檔問題反饋

文檔中是否有錯彆字、內容過期、難以理解等問題? 點此給我們反饋吧