本文內容
使用者角色概述
使用者角色是一個預先定義的類別,可以根據使用者的職稱或其他條件分配給他們。 角色通常用來向不同類型的使用者呈現自訂版本或檢視表單範本。 你可以透過在表單範本中新增使用者角色,來簡化業務流程並優化資料收集,以控制使用者在開啟基於表單範本的表單時能看到的內容。 舉例來說,假設你正在設計一份許可申請的表單範本,該範本將被以下類型的使用者使用:
- 需要申請許可的電氣承包商
- 接收代理人會核實承包商申請中是否包含必要資訊
- 審核提交許可申請以求核准的管理者
你不必為每種使用者類型設計三個表單範本並管理所有表單的資料,而是設計一個表單範本,讓表單收集所有資料,並為每種使用者類型新增使用者角色。 使用者角色決定透過基於不同使用者類型的自訂檢視顯示哪些資料。
注意
使用者角色不應被用來限制表單中敏感資料的存取。 即使你將表單範本設為唯讀或隱藏基於使用者角色的某些控制項,使用者仍可使用文字編輯程式如 Microsoft 記事本來查看或修改表單範本 (.xsn) 檔案並存取該資料。
使用者角色的使用情境
有很多情況下,使用者角色對使用者來說是有益的。 例如,透過使用者角色,你可以:
- 為每個使用者角色顯示獨特視圖 你可以設計一個表單範本,根據填寫表單的人員不同,顯示該表單範本的不同視圖。 例如,你可以為申請許可的電氣承包商設計一個視圖,一個給收到許可申請的代理人看,以及一個給管理員審查所有資訊的視圖。 每個視圖僅顯示適合各使用者角色的資料。
- 為每個使用者角色顯示不同的區塊 你可以設計一個表單範本,根據填寫者不同,顯示不同區塊。 例如,費用申報表範本中僅適用於員工的區段,當員工打開表單時,可能會顯示出來。 另一個僅適用於審核費用報表的經理的區塊,可在經理打開表單時顯示。
- 根據每個使用者角色設定欄位的資料驗證 你可以設計一個表單範本,讓綁定在特定欄位的控制項上套用不同的資料驗證,這取決於填寫表單者的使用者角色。 例如,你可以將經理的最高費用值設在一個上限,而同一文字框的最高值則設在管理員的上限上。 若經理填寫表單且金額超過,則會出現對話框。 如果管理員填寫表單,文字框會接受一個原本會被拒絕的數值,若經理填寫該表單。
- 將表單資料提交到基於每個使用者角色的外部資料來源 例如,你可以設計表格範本,讓需要申請許可的電氣承包商只能將填寫的表格提交給網路服務,接收代理人則只能提交到 SQL 資料庫。 若申請已獲批准,管理員可將表格資料提交至資料庫及電子郵件;若申請被拒,則可僅將表格資料提交至資料庫。
建立與指派使用者角色
當你建立新的使用者角色時,可以透過以下方式指派使用者:
- 例如,透過指定Microsoft Active Directory 目錄服務的使用者名稱,例如「sales\andrew」 () 。 若要在 Active Directory 目錄服務中指定使用者名稱,表單範本必須在使用 Active Directory 的 Microsoft Windows 網路中建立並發佈。
- 透過從 Active Directory 目錄服務指定群組。 例如,你可以指定一個電子郵件分發清單,包含行銷團隊所有成員的姓名。 若要在 Active Directory 目錄服務中指定群組,表單範本必須在使用 Active Directory 的 Microsoft Windows 網路中建立並發佈。
- 透過指定一個直接來自欄位的值,形式為 該欄位可以從 Active Directory 取得資料,或使用者可以將資料輸入綁定到該欄位的控制項中。 例如,如果你的表單範本包含 管理員 文字框,你可以將特定使用者角色與該文字框綁定的欄位關聯起來。
新增使用者角色後,你可以將其設定為以下之一:
預設角色 未被指派至現有使用者角色的使用者,會自動被分配到預設角色的使用者角色。 預設角色也用於群組成員但離線工作的使用者。 預設總是設定一個使用者角色。
發起人角色 如果你想將特定使用者角色套用給首次開啟表單的使用者,可以指定發起者角色。 例如,你可以定義一個名為「承包商」的發起人角色,適用於填寫新許可申請表的使用者。 被指派到不同使用者角色的使用者,當他或她開啟新的許可申請表單時,會自動重新分配為承包商角色。 然而,下次該使用者開啟相同表單時,Microsoft Office InfoPath 會使用該使用者指定的使用者角色,而非發起者角色。
如果你指派的角色是基於任意組合的使用者名稱、群組或欄位中的值,當使用者開啟基於你的表單範本的表單時,InfoPath 會依照以下順序決定該使用者要指派的角色:
使用者名稱是表單範本中欄位的一個值。
使用者的名字在 Active Directory 裡。
使用者是 Active Directory 群組的成員。
注意
如果使用者同時屬於多個群組,且你根據該群組指派使用者角色,InfoPath 會依照該群組在 「管理使用者角色 」對話框中列出的順序,檢查每個群組的成員名單。 例如,若使用者同時屬於接收代理群組與管理員群組,且管理員群組列於接收代理群組之前,則該使用者將被分配管理員群組的使用者角色。
若以上皆不成立,則使用預設角色。
在定義表單範本的使用者角色後,你可以設定一條規則,根據使用者的角色自動切換視圖。 例如,你可以建立一個管理員使用者角色,然後建立規則,當被指派為管理者角色的使用者打開表單時,自動切換到管理員視圖。 或者,你可以先建立規則,然後在建立規則的過程中再定義使用者角色。
你也可以根據使用者角色調整控制項的行為。 例如,你可以只啟用特定使用者角色的控制項,而其他使用者角色可以看到控制項中的資料,但無法修改。 根據使用者角色限制誰可以輸入控制點的資料,是確保輸入控制點的資料來自合法來源的一種方式。 例如,您可以在許可申請表範本中設置一個「 核准 」勾選框,只有管理員使用者角色成員能選擇,表示該許可已被核准。 被指派到其他使用者角色的使用者,例如提交申請的承包商,只會看到勾選框,無法選擇或清除該方塊。