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.
class CDacl : public CAcl
Nom | Description |
---|---|
CDacl ::CDacl | Constructeur . |
CDacl ::~CDacl | Destructeur. |
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 . |
Nom | Description |
---|---|
CDacl ::operator = | Opérateur d'assignation. |
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.
CDacl
En-tête : atlsecurity.h
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(...);
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é.
Retourne TRUE si l’ACE est ajouté à l’objet CDacl
, FALSE en cas d’échec.
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.
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(...);
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é.
Retourne TRUE si l’ACE est ajouté à l’objet CDacl
, FALSE en cas d’échec.
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.
Constructeur .
CDacl (const ACL& rhs) throw(...);
CDacl () throw();
rhs
Structure existante ACL
(liste de contrôle d’accès).
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.
Destructeur.
~CDacl () throw();
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.
Retourne le nombre d’ACL (entrées de contrôle d’accès) dans l’objet CDacl
.
UINT GetAceCount() const throw();
Retourne le nombre d’ACL contenues dans l’objet CDacl
.
Opérateur d'assignation.
CDacl& operator= (const ACL& rhs) throw(...);
rhs
Liste de contrôle d’accès (ACL) à affecter à l’objet existant.
Retourne une référence à l’objet mis à jour CDacl
.
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.
Supprime un ACE spécifique (entrée de contrôle d’accès) de l’objet CDacl
.
void RemoveAce(UINT nIndex) throw();
nIndex
Index de l’entrée ACE à supprimer.
Cette méthode est dérivée de CAtlArray ::RemoveAt.
Supprime toutes les AE (entrées de contrôle d’accès) contenues dans l’objet CDacl
.
void RemoveAllAces() throw();
Supprime chaque structure (le cas échéant) de chaque ACE
structure (le cas échéant) dans l’objet CDacl
.
Exemple de sécurité
CAcl, classe
ACL
Aces
Vue d’ensemble de la classe
Fonctions globales de sécurité