用戶和角色的權限配置實例
本文將通過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、當記錄的狀態被否決時,自動將擁有者設定為記錄的創建人。 那麼他的權限又迴來瞭,就可以編輯瞭。
我們先把角色中的配置完畢,如下圖,查看時是全部,編輯時隻能編輯擁有的。

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

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

實現效果

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