訪問控制編輯器
存取控制編輯器是一組屬性表和屬性頁,可讓使用者檢視和修改物件 安全性描述元的元件,。 編輯器包含兩個主要部分:
- 基本安全性屬性頁,提供簡單的介面,可在物件的 選擇性訪問控制清單 (DACL) 中編輯 訪問控制專案(ACE)。 此頁面可以包含選擇性 進階 按鈕,以顯示進階安全性屬性表。
- 進階安全性屬性表 屬性頁,讓使用者能夠編輯物件的 系統訪問控制清單(SACL)、變更對象的擁有者,或執行物件的 DACL 進階編輯。
CreateSecurityPage 函式會建立基本安全性屬性頁。 接著,您可以使用 PropertySheet 函式或 PSM_ADDPAGE 訊息,將此頁面新增至屬性表。
或者,您可以使用 EditSecurity 函式來顯示包含基本安全性屬性頁的屬性表。
針對 createSecurityPage和 EditSecurity,呼叫端必須傳遞 ISecurityInformation 介面實作的指標。 訪問控制編輯器會呼叫這個介面的方法,以擷取所編輯物件的訪問控制資訊,並將使用者的輸入傳回您的應用程式。 ISecurityInformation 方法有下列用途:
若要初始化屬性頁。
您實作的 GetObjectInformation方法會將 SI_OBJECT_INFO 結構傳遞至編輯器。 此結構會指定您希望編輯器顯示的屬性頁,以及其他資訊,以決定使用者可用的編輯選項。
提供正在編輯之物件的安全性資訊。
您的 GetSecurity 實作會將物件的初始 安全性描述元 傳遞至編輯器。 GetAccessRights 和 MapGeneric 方法會提供物件存取許可權的相關信息。 GetInheritTypes 方法提供子物件如何繼承物件 ACE 的相關信息。
若要將使用者的輸入傳回您的應用程式。
當使用者按兩下 [確定] 或 [套用] 時,編輯器會呼叫您的 SetSecurity 方法來傳回包含使用者變更的安全性描述元。