Поделиться через


Класс CSacl

Этот класс представляет собой оболочку для структуры SACL (системного списка управления доступом).

Важно!

Этот класс и его члены нельзя использовать в приложениях, выполняемых в среде выполнения Windows.

Синтаксис

class CSacl : public CAcl

Участники

Открытые конструкторы

Имя Описание
CSacl::CSacl Конструктор.
CSacl::~CSacl Деструктор

Открытые методы

Имя Описание
CSacl::AddAuditAce Добавляет запись управления доступом аудита (ACE) к объекту CSacl .
CSacl::GetAceCount Возвращает количество записей управления доступом (ACEs) в объекте CSacl .
CSacl::RemoveAce Удаляет определенную запись ACE (элемент управления доступом) из CSacl объекта.
CSacl::RemoveAllAces Удаляет все acEs, содержащиеся в объекте CSacl .

Открытые операторы

Имя Описание
CSacl::operator = Оператор присвоения.

Замечания

A SACL содержит записи управления доступом (ACEs), которые указывают типы попыток доступа, которые создают записи аудита в журнале событий безопасности контроллера домена. Обратите внимание, что SACL создает записи журнала только на контроллере домена, где произошла попытка доступа, а не на каждом контроллере домена, который содержит реплика объекта.

Чтобы задать или получить SACL в дескрипторе безопасности объекта, в маркере доступа потока запроса необходимо включить привилегию SE_SECURITY_NAME. Группа администраторов имеет эту привилегию, предоставленную по умолчанию, и она может быть предоставлена другим пользователям или группам. Наличие предоставленных привилегий не является обязательным: прежде чем операция, определяемая привилегией, может быть включена в маркер доступа безопасности, чтобы вступить в силу. Модель позволяет включить привилегии только для определенных системных операций, а затем отключать, когда они больше не нужны. Примеры включения SE_SECURITY_NAME см. в AtlGetSacl и AtlSetSacl .

Используйте методы класса, предоставляемые для добавления, удаления, создания и удаления ACES из SACL объекта. См. также atlGetSacl и AtlSetSacl.

Общие сведения о модели управления доступом в Windows см. в контроль доступа в пакете SDK для Windows.

Иерархия наследования

Cacl

CSacl

Требования

Заголовок: atlsecurity.h

CSacl::AddAuditAce

Добавляет запись управления доступом аудита (ACE) к объекту CSacl .

bool AddAuditAce(
    const CSid& rSid,
    ACCESS_MASK AccessMask,
    bool bSuccess,
    bool bFailure,
    BYTE AceFlags = 0) throw(...);

bool AddAuditAce(
    const CSid& rSid,
    ACCESS_MASK AccessMask,
    bool bSuccess,
    bool bFailure,
    BYTE AceFlags,
    const GUID* pObjectType,
    const GUID* pInheritedObjectType) throw(...);

Параметры

Rsid
Объект CSid.

AccessMask
Указывает маску прав доступа для аудита указанного CSid объекта.

bSuccess
Указывает, следует ли выполнять аудит разрешенных попыток доступа. Установите для этого флага значение true, чтобы включить аудит; в противном случае задайте для него значение false.

bFailure
Указывает, следует ли проверять попытки отказано в доступе. Установите для этого флага значение true, чтобы включить аудит; в противном случае задайте для него значение false.

AceFlags
Набор битовых флагов, управляющих наследованием ACE.

pObjectType
Тип объекта.

pInheritedObjectType
Наследуемый тип объекта.

Возвращаемое значение

Возвращает значение TRUE, если ACE добавляется в объект, false при сбое CSacl .

Замечания

Объект CSacl содержит записи управления доступом (ACEs), указывающие типы попыток доступа, которые создают записи аудита в журнале событий безопасности. Этот метод добавляет такой ACE в CSacl объект.

См . ACE_HEADER описание различных флагов, которые можно задать в параметре AceFlags .

CSacl::CSacl

Конструктор.

CSacl() throw();
CSacl(const ACL& rhs) throw(...);

Параметры

rhs
Существующая ACL структура (список управления доступом).

Замечания

Объект CSacl можно создать при необходимости с помощью существующей ACL структуры. Убедитесь, что этот параметр является списком системного управления доступом (SACL) и не списком управления доступом (DACL). В отладочных сборках, если daCL предоставляется утверждение. В сборке выпуска все записи из DACL игнорируются.

CSacl::~CSacl

Деструктор

~CSacl() throw();

Замечания

Деструктор освобождает все ресурсы, приобретенные объектом, включая все записи управления доступом (ACEs).

CSacl::GetAceCount

Возвращает количество записей управления доступом (ACEs) в объекте CSacl .

UINT GetAceCount() const throw();

Возвращаемое значение

Возвращает количество acEs, содержащихся в объекте CSacl .

CSacl::operator =

Оператор присвоения.

CSacl& operator=(const ACL& rhs) throw(...);

Параметры

rhs
Список ACL управления доступом для назначения существующему объекту.

Возвращаемое значение

Возвращает ссылку на обновленный CSacl объект. Убедитесь, что ACL параметр фактически является системным списком управления доступом (SACL) и не списком управления доступом (DACL). В отладочных сборках будет происходить утверждение, и при сборке ACL выпуска параметр будет игнорироваться.

CSacl::RemoveAce

Удаляет определенную запись ACE (элемент управления доступом) из CSacl объекта.

void RemoveAce(UINT nIndex) throw();

Параметры

Nindex
Индекс для удаления записи ACE.

Замечания

Этот метод является производным от CAtlArray::RemoveAt.

CSacl::RemoveAllAces

Удаляет все записи управления доступом (ACEs), содержащиеся в объекте CSacl .

void RemoveAllAces() throw();

Замечания

Удаляет каждую ACE структуру (если она есть) в объекте CSacl .

См. также

Класс CAcl
Списки управления доступом
Тузов
Общие сведения о классе
Глобальные функции безопасности