Partilhar via


Editor de Controle de Acesso

O editor de controle de acesso é um conjunto de folhas de propriedades e páginas de propriedades que permitem ao usuário exibir e modificar os componentes do descritor de segurança de um objeto. O editor consiste em duas partes principais:

  • Uma página de propriedades de segurança básica que fornece uma interface simples para editar as entradas de controle de acesso (ACEs) nade lista de controle de acessodiscricionário (DACL) de um objeto. Esta página pode incluir um botão opcional Avançado que exibe a folha de propriedades de segurança avançada.
  • Uma folha de propriedades de segurança avançada com páginas de propriedades que permitem ao usuário editar a lista de controle de acesso do sistema (SACL) do objeto, alterar o proprietário do objeto ou executar a edição avançada da DACL do objeto.

A funçãoCreateSecurityPage cria a página de propriedades de segurança básica. Em seguida, você pode usar a funçãoPropertySheetou a mensagem PSM_ADDPAGE para adicionar esta página a uma folha de propriedades.

Como alternativa, você pode usar a função EditSecurity para exibir uma folha de propriedades que contém a página de propriedades de segurança básica.

Para CreateSecurityPage e EditSecurity, o chamador deve passar um ponteiro para uma implementação da interfaceISecurityInformation. O editor de controle de acesso chama os métodos dessa interface para recuperar informações de controle de acesso sobre o objeto que está sendo editado e para passar a entrada do usuário de volta para seu aplicativo. Os métodos ISecurityInformation têm as seguintes finalidades:

  • Para inicializar as páginas de propriedades.

    Sua implementação do GetObjectInformation método passa uma estrutura de SI_OBJECT_INFO para o editor. Essa estrutura especifica as páginas de propriedades que você deseja que o editor exiba e outras informações que determinam as opções de edição disponíveis para o usuário.

  • Para fornecer informações de segurança sobre o objeto que está sendo editado.

    Sua implementação GetSecurity passa oinicial do descritor de segurançado objeto para o editor. O GetAccessRights e métodos MapGeneric fornecem informações sobre os direitos de acesso do objeto. O GetInheritTypes método fornece informações sobre como as ACEs do objeto podem ser herdadas por objetos filho.

  • Para passar a entrada do usuário de volta para o seu aplicativo.

    Quando o usuário clica em Okay ou Apply, o editor chama seu SetSecurity método para passar de volta um descritor de segurança contendo as alterações do usuário.