mscorlib(4.0.0.0) API with additions
SystemAcl.cs
2 
4 {
6  public sealed class SystemAcl : CommonAcl
7  {
14  public SystemAcl(bool isContainer, bool isDS, int capacity)
15  : this(isContainer, isDS, isDS ? GenericAcl.AclRevisionDS : GenericAcl.AclRevision, capacity)
16  {
17  }
18 
26  public SystemAcl(bool isContainer, bool isDS, byte revision, int capacity)
27  : base(isContainer, isDS, revision, capacity)
28  {
29  }
30 
37  public SystemAcl(bool isContainer, bool isDS, RawAcl rawAcl)
38  : this(isContainer, isDS, rawAcl, trusted: false)
39  {
40  }
41 
42  internal SystemAcl(bool isContainer, bool isDS, RawAcl rawAcl, bool trusted)
43  : base(isContainer, isDS, rawAcl, trusted, isDacl: false)
44  {
45  }
46 
53  public void AddAudit(AuditFlags auditFlags, SecurityIdentifier sid, int accessMask, InheritanceFlags inheritanceFlags, PropagationFlags propagationFlags)
54  {
55  CheckFlags(inheritanceFlags, propagationFlags);
56  AddQualifiedAce(sid, AceQualifier.SystemAudit, accessMask, GenericAce.AceFlagsFromAuditFlags(auditFlags) | GenericAce.AceFlagsFromInheritanceFlags(inheritanceFlags, propagationFlags), ObjectAceFlags.None, Guid.Empty, Guid.Empty);
57  }
58 
65  public void SetAudit(AuditFlags auditFlags, SecurityIdentifier sid, int accessMask, InheritanceFlags inheritanceFlags, PropagationFlags propagationFlags)
66  {
67  CheckFlags(inheritanceFlags, propagationFlags);
68  SetQualifiedAce(sid, AceQualifier.SystemAudit, accessMask, GenericAce.AceFlagsFromAuditFlags(auditFlags) | GenericAce.AceFlagsFromInheritanceFlags(inheritanceFlags, propagationFlags), ObjectAceFlags.None, Guid.Empty, Guid.Empty);
69  }
70 
79  public bool RemoveAudit(AuditFlags auditFlags, SecurityIdentifier sid, int accessMask, InheritanceFlags inheritanceFlags, PropagationFlags propagationFlags)
80  {
81  return RemoveQualifiedAces(sid, AceQualifier.SystemAudit, accessMask, GenericAce.AceFlagsFromAuditFlags(auditFlags) | GenericAce.AceFlagsFromInheritanceFlags(inheritanceFlags, propagationFlags), saclSemantics: true, ObjectAceFlags.None, Guid.Empty, Guid.Empty);
82  }
83 
90  public void RemoveAuditSpecific(AuditFlags auditFlags, SecurityIdentifier sid, int accessMask, InheritanceFlags inheritanceFlags, PropagationFlags propagationFlags)
91  {
92  RemoveQualifiedAcesSpecific(sid, AceQualifier.SystemAudit, accessMask, GenericAce.AceFlagsFromAuditFlags(auditFlags) | GenericAce.AceFlagsFromInheritanceFlags(inheritanceFlags, propagationFlags), ObjectAceFlags.None, Guid.Empty, Guid.Empty);
93  }
94 
99  {
101  }
102 
112  public void AddAudit(AuditFlags auditFlags, SecurityIdentifier sid, int accessMask, InheritanceFlags inheritanceFlags, PropagationFlags propagationFlags, ObjectAceFlags objectFlags, Guid objectType, Guid inheritedObjectType)
113  {
114  if (!base.IsDS)
115  {
116  throw new InvalidOperationException(Environment.GetResourceString("InvalidOperation_OnlyValidForDS"));
117  }
118  CheckFlags(inheritanceFlags, propagationFlags);
119  AddQualifiedAce(sid, AceQualifier.SystemAudit, accessMask, GenericAce.AceFlagsFromAuditFlags(auditFlags) | GenericAce.AceFlagsFromInheritanceFlags(inheritanceFlags, propagationFlags), objectFlags, objectType, inheritedObjectType);
120  }
121 
126  {
128  }
129 
139  public void SetAudit(AuditFlags auditFlags, SecurityIdentifier sid, int accessMask, InheritanceFlags inheritanceFlags, PropagationFlags propagationFlags, ObjectAceFlags objectFlags, Guid objectType, Guid inheritedObjectType)
140  {
141  if (!base.IsDS)
142  {
143  throw new InvalidOperationException(Environment.GetResourceString("InvalidOperation_OnlyValidForDS"));
144  }
145  CheckFlags(inheritanceFlags, propagationFlags);
146  SetQualifiedAce(sid, AceQualifier.SystemAudit, accessMask, GenericAce.AceFlagsFromAuditFlags(auditFlags) | GenericAce.AceFlagsFromInheritanceFlags(inheritanceFlags, propagationFlags), objectFlags, objectType, inheritedObjectType);
147  }
148 
155  {
156  return RemoveAudit(rule.AuditFlags, sid, rule.AccessMask, rule.InheritanceFlags, rule.PropagationFlags, rule.ObjectFlags, rule.ObjectType, rule.InheritedObjectType);
157  }
158 
170  public bool RemoveAudit(AuditFlags auditFlags, SecurityIdentifier sid, int accessMask, InheritanceFlags inheritanceFlags, PropagationFlags propagationFlags, ObjectAceFlags objectFlags, Guid objectType, Guid inheritedObjectType)
171  {
172  if (!base.IsDS)
173  {
174  throw new InvalidOperationException(Environment.GetResourceString("InvalidOperation_OnlyValidForDS"));
175  }
176  return RemoveQualifiedAces(sid, AceQualifier.SystemAudit, accessMask, GenericAce.AceFlagsFromAuditFlags(auditFlags) | GenericAce.AceFlagsFromInheritanceFlags(inheritanceFlags, propagationFlags), saclSemantics: true, objectFlags, objectType, inheritedObjectType);
177  }
178 
183  {
185  }
186 
196  public void RemoveAuditSpecific(AuditFlags auditFlags, SecurityIdentifier sid, int accessMask, InheritanceFlags inheritanceFlags, PropagationFlags propagationFlags, ObjectAceFlags objectFlags, Guid objectType, Guid inheritedObjectType)
197  {
198  if (!base.IsDS)
199  {
200  throw new InvalidOperationException(Environment.GetResourceString("InvalidOperation_OnlyValidForDS"));
201  }
202  RemoveQualifiedAcesSpecific(sid, AceQualifier.SystemAudit, accessMask, GenericAce.AceFlagsFromAuditFlags(auditFlags) | GenericAce.AceFlagsFromInheritanceFlags(inheritanceFlags, propagationFlags), objectFlags, objectType, inheritedObjectType);
203  }
204  }
205 }
void AddAudit(SecurityIdentifier sid, ObjectAuditRule rule)
Adds an audit rule to the current T:System.Security.AccessControl.SystemAcl object.
Definition: SystemAcl.cs:98
PropagationFlags
Specifies how Access Control Entries (ACEs) are propagated to child objects. These flags are signific...
internal int AccessMask
Gets the access mask for this rule.
bool RemoveAudit(AuditFlags auditFlags, SecurityIdentifier sid, int accessMask, InheritanceFlags inheritanceFlags, PropagationFlags propagationFlags)
Removes the specified audit rule from the current T:System.Security.AccessControl....
Definition: SystemAcl.cs:79
Represents a combination of a user's identity, an access mask, and audit conditions....
bool RemoveAudit(AuditFlags auditFlags, SecurityIdentifier sid, int accessMask, InheritanceFlags inheritanceFlags, PropagationFlags propagationFlags, ObjectAceFlags objectFlags, Guid objectType, Guid inheritedObjectType)
Removes the specified audit rule from the current T:System.Security.AccessControl....
Definition: SystemAcl.cs:170
Definition: __Canon.cs:3
Represents an Access Control Entry (ACE), and is the base class for all other ACE classes.
Definition: GenericAce.cs:6
ObjectAceFlags ObjectFlags
P:System.Security.AccessControl.ObjectAuditRule.ObjectType and P:System.Security.AccessControl....
void SetAudit(SecurityIdentifier sid, ObjectAuditRule rule)
Sets the specified audit rule for the specified T:System.Security.Principal.SecurityIdentifier object...
Definition: SystemAcl.cs:125
Represents an Access Control List (ACL).
Definition: RawAcl.cs:6
Provides information about, and means to manipulate, the current environment and platform....
Definition: Environment.cs:21
Represents a globally unique identifier (GUID).To browse the .NET Framework source code for this type...
Definition: Guid.cs:14
AuditFlags AuditFlags
Gets the audit flags for this audit rule.
Definition: AuditRule.cs:65
void SetAudit(AuditFlags auditFlags, SecurityIdentifier sid, int accessMask, InheritanceFlags inheritanceFlags, PropagationFlags propagationFlags, ObjectAceFlags objectFlags, Guid objectType, Guid inheritedObjectType)
Sets the specified audit rule for the specified T:System.Security.Principal.SecurityIdentifier object...
Definition: SystemAcl.cs:139
SystemAcl(bool isContainer, bool isDS, RawAcl rawAcl)
Initializes a new instance of the T:System.Security.AccessControl.SystemAcl class with the specified ...
Definition: SystemAcl.cs:37
Guid InheritedObjectType
Gets the type of child object that can inherit the T:System.Security.AccessControl....
Represents an access control list (ACL) and is the base class for the T:System.Security....
Definition: CommonAcl.cs:6
void AddAudit(AuditFlags auditFlags, SecurityIdentifier sid, int accessMask, InheritanceFlags inheritanceFlags, PropagationFlags propagationFlags, ObjectAceFlags objectFlags, Guid objectType, Guid inheritedObjectType)
Adds an audit rule with the specified settings to the current T:System.Security.AccessControl....
Definition: SystemAcl.cs:112
void RemoveAuditSpecific(SecurityIdentifier sid, ObjectAuditRule rule)
Removes the specified audit rule from the current T:System.Security.AccessControl....
Definition: SystemAcl.cs:182
static readonly byte AclRevisionDS
The revision level of the current T:System.Security.AccessControl.GenericAcl. This value is returned ...
Definition: GenericAcl.cs:12
void AddAudit(AuditFlags auditFlags, SecurityIdentifier sid, int accessMask, InheritanceFlags inheritanceFlags, PropagationFlags propagationFlags)
Adds an audit rule to the current T:System.Security.AccessControl.SystemAcl object.
Definition: SystemAcl.cs:53
InheritanceFlags InheritanceFlags
Gets the value of flags that determine how this rule is inherited by child objects.
void RemoveAuditSpecific(AuditFlags auditFlags, SecurityIdentifier sid, int accessMask, InheritanceFlags inheritanceFlags, PropagationFlags propagationFlags)
Removes the specified audit rule from the current T:System.Security.AccessControl....
Definition: SystemAcl.cs:90
Represents an access control list (ACL) and is the base class for the T:System.Security....
Definition: GenericAcl.cs:6
AceQualifier
Specifies the function of an access control entry (ACE).
Definition: AceQualifier.cs:4
Represents a security identifier (SID) and provides marshaling and comparison operations for SIDs.
Guid ObjectType
Gets the type of object to which the T:System.Security.AccessControl.ObjectAuditRule applies.
void RemoveAuditSpecific(AuditFlags auditFlags, SecurityIdentifier sid, int accessMask, InheritanceFlags inheritanceFlags, PropagationFlags propagationFlags, ObjectAceFlags objectFlags, Guid objectType, Guid inheritedObjectType)
Removes the specified audit rule from the current T:System.Security.AccessControl....
Definition: SystemAcl.cs:196
static readonly byte AclRevision
The revision level of the current T:System.Security.AccessControl.GenericAcl. This value is returned ...
Definition: GenericAcl.cs:9
The exception that is thrown when a method call is invalid for the object's current state.
static readonly Guid Empty
A read-only instance of the T:System.Guid structure whose value is all zeros.
Definition: Guid.cs:126
SystemAcl(bool isContainer, bool isDS, byte revision, int capacity)
Initializes a new instance of the T:System.Security.AccessControl.SystemAcl class with the specified ...
Definition: SystemAcl.cs:26
InheritanceFlags
Inheritance flags specify the semantics of inheritance for access control entries (ACEs).
void SetAudit(AuditFlags auditFlags, SecurityIdentifier sid, int accessMask, InheritanceFlags inheritanceFlags, PropagationFlags propagationFlags)
Sets the specified audit rule for the specified T:System.Security.Principal.SecurityIdentifier object...
Definition: SystemAcl.cs:65
ObjectAceFlags
Specifies the presence of object types for Access Control Entries (ACEs).
Represents a System Access Control List (SACL).
Definition: SystemAcl.cs:6
bool RemoveAudit(SecurityIdentifier sid, ObjectAuditRule rule)
Removes the specified audit rule from the current T:System.Security.AccessControl....
Definition: SystemAcl.cs:154
PropagationFlags PropagationFlags
Gets the value of the propagation flags, which determine how inheritance of this rule is propagated t...
AuditFlags
Specifies the conditions for auditing attempts to access a securable object.
Definition: AuditFlags.cs:5