CDacl, classe
Cette classe est un wrapper pour une structure DACL (liste de contrôle d’accès discrétionnaire).
Important
Cette classe et ses membres ne peuvent pas être utilisés dans les applications qui s’exécutent dans Windows Runtime.
Syntaxe
class CDacl : public CAcl
Membres
Constructeurs publics
Nom | Description |
---|---|
CDacl ::CDacl | Constructeur . |
CDacl ::~CDacl | Destructeur. |
Méthodes publiques
Nom | Description |
---|---|
CDacl ::AddAllowedAce | Ajoute un ACE autorisé (entrée de contrôle d’accès) à l’objet CDacl . |
CDacl ::AddDeniedAce | Ajoute un ACE refusé à l’objet CDacl . |
CDacl ::GetAceCount | Retourne le nombre d’ACL (entrées de contrôle d’accès) dans l’objet CDacl . |
CDacl ::RemoveAce | Supprime un ACE spécifique (entrée de contrôle d’accès) de l’objet CDacl . |
CDacl ::RemoveAllAces | Supprime toutes les ACL contenues dans l’objet CDacl . |
Opérateurs publics
Nom | Description |
---|---|
CDacl ::operator = | Opérateur d'assignation. |
Notes
Le descripteur de sécurité d’un objet peut contenir une liste DACL. Une liste de contrôle d’accès contient zéro ou plusieurs ACL (entrées de contrôle d’accès) qui identifient les utilisateurs et les groupes qui peuvent accéder à l’objet. Si une liste DACL est vide (autrement dit, elle contient zéro AE), aucun accès n’est explicitement accordé, de sorte que l’accès est implicitement refusé. Toutefois, si le descripteur de sécurité d’un objet n’a pas de liste de contrôle de contrôle d’accès, l’objet n’est pas protégé et tout le monde a un accès complet.
Pour récupérer la liste DACL d’un objet, vous devez être propriétaire de l’objet ou avoir READ_CONTROL accès à l’objet. Pour modifier la liste DACL d’un objet, vous devez avoir WRITE_DAC accès à l’objet.
Utilisez les méthodes de classe fournies pour créer, ajouter, supprimer et supprimer des AE de l’objet CDacl
. Voir aussi AtlGetDacl et AtlSetDacl.
Pour une présentation du modèle de contrôle d’accès dans Windows, consultez Contrôle d’accès dans le Kit de développement logiciel (SDK) Windows.
Hiérarchie d'héritage
CDacl
Spécifications
En-tête : atlsecurity.h
CDacl ::AddAllowedAce
Ajoute un ACE autorisé (entrée de contrôle d’accès) à l’objet CDacl
.
bool AddAllowedAce(
const CSid& rSid,
ACCESS_MASK AccessMask,
BYTE AceFlags = 0) throw(...);
bool AddAllowedAce(
const CSid& rSid,
ACCESS_MASK AccessMask,
BYTE AceFlags,
const GUID* pObjectType,
const GUID* pInheritedObjectType) throw(...);
Paramètres
rSid
Objet CSid .
AccessMask
Spécifie le masque des droits d’accès à autoriser pour l’objet spécifié CSid
.
AceFlags
Ensemble d’indicateurs de bits qui contrôlent l’héritage ACE.
pObjectType
Type d'objet.
pInheritedObjectType
Type d’objet hérité.
Valeur de retour
Retourne TRUE si l’ACE est ajouté à l’objet CDacl
, FALSE en cas d’échec.
Notes
Un CDacl
objet contient zéro ou plusieurs ACL (entrées de contrôle d’accès) qui identifient les utilisateurs et les groupes qui peuvent accéder à l’objet. Cette méthode ajoute un ACE qui autorise l’accès à l’objet CDacl
.
Consultez ACE_HEADER pour obtenir une description des différents indicateurs qui peuvent être définis dans le AceFlags
paramètre.
CDacl ::AddDeniedAce
Ajoute un ACE refusé (entrée de contrôle d’accès) à l’objet CDacl
.
bool AddDeniedAce(
const CSid& rSid,
ACCESS_MASK AccessMask,
BYTE AceFlags = 0) throw(...);
bool AddDeniedAce(
const CSid& rSid,
ACCESS_MASK AccessMask,
BYTE AceFlags,
const GUID* pObjectType,
const GUID* pInheritedObjectType) throw(...);
Paramètres
rSid
Objet CSid
.
AccessMask
Spécifie le masque des droits d’accès à refuser pour l’objet spécifié CSid
.
AceFlags
Ensemble d’indicateurs de bits qui contrôlent l’héritage ACE. La valeur par défaut est 0 dans la première forme de la méthode.
pObjectType
Type d'objet.
pInheritedObjectType
Type d’objet hérité.
Valeur de retour
Retourne TRUE si l’ACE est ajouté à l’objet CDacl
, FALSE en cas d’échec.
Notes
Un CDacl
objet contient zéro ou plusieurs ACL (entrées de contrôle d’accès) qui identifient les utilisateurs et les groupes qui peuvent accéder à l’objet. Cette méthode ajoute un ACE qui refuse l’accès à l’objet CDacl
.
Consultez ACE_HEADER pour obtenir une description des différents indicateurs qui peuvent être définis dans le AceFlags
paramètre.
CDacl ::CDacl
Constructeur .
CDacl (const ACL& rhs) throw(...);
CDacl () throw();
Paramètres
rhs
Structure existante ACL
(liste de contrôle d’accès).
Notes
L’objet CDacl
peut éventuellement être créé à l’aide d’une structure existante ACL
. Il est important de noter que seule une liste DACL (liste de contrôle d’accès discrétionnaire) et non une liste de contrôle d’accès système (liste de contrôle d’accès système) doit être passée en tant que paramètre. Dans les builds de débogage, le passage d’une liste de contrôle d’accès partagé entraîne une assertion. Dans les builds de mise en production, le passage d’une liste de contrôle d’accès entraîne l’ignorer des ACL (entrées de contrôle d’accès) et aucune erreur ne se produit.
CDacl ::~CDacl
Destructeur.
~CDacl () throw();
Notes
Le destructeur libère toutes les ressources acquises par l’objet, y compris toutes les ACL (entrées de contrôle d’accès) à l’aide de CDacl ::RemoveAllAces.
CDacl ::GetAceCount
Retourne le nombre d’ACL (entrées de contrôle d’accès) dans l’objet CDacl
.
UINT GetAceCount() const throw();
Valeur de retour
Retourne le nombre d’ACL contenues dans l’objet CDacl
.
CDacl ::operator =
Opérateur d'assignation.
CDacl& operator= (const ACL& rhs) throw(...);
Paramètres
rhs
Liste de contrôle d’accès (ACL) à affecter à l’objet existant.
Valeur de retour
Retourne une référence à l’objet mis à jour CDacl
.
Notes
Vous devez vous assurer que vous transmettez uniquement une liste de contrôle d’accès discrétionnaire (DACL) à cette fonction. Le passage d’une liste de contrôle d’accès système à cette fonction entraîne une ASSERTION dans les builds de débogage, mais n’entraîne aucune erreur dans les builds de mise en production.
CDacl ::RemoveAce
Supprime un ACE spécifique (entrée de contrôle d’accès) de l’objet CDacl
.
void RemoveAce(UINT nIndex) throw();
Paramètres
nIndex
Index de l’entrée ACE à supprimer.
Notes
Cette méthode est dérivée de CAtlArray ::RemoveAt.
CDacl ::RemoveAllAces
Supprime toutes les AE (entrées de contrôle d’accès) contenues dans l’objet CDacl
.
void RemoveAllAces() throw();
Notes
Supprime chaque structure (le cas échéant) de chaque ACE
structure (le cas échéant) dans l’objet CDacl
.
Voir aussi
Exemple de sécurité
CAcl, classe
ACL
Aces
Vue d’ensemble de la classe
Fonctions globales de sécurité