ObjectSecurity
Provides the ability to control access to objects without direct manipulation of Access Control Lists (ACLs). This class is the abstract base class for the CommonObjectSecurity and DirectoryObjectSecurity classes.
Gets the Type of the securable object associated with this ObjectSecurity object.
Gets or sets a Boolean value that specifies whether the access rules associated with this ObjectSecurity object have been modified.
Gets the Type of the object associated with the access rules of this ObjectSecurity object. The Type object must be an object that can be cast as a SecurityIdentifier object.
Gets a Boolean value that specifies whether the access rules associated with this ObjectSecurity object are in canonical order.
Gets a Boolean value that specifies whether the Discretionary Access Control List (DACL) associated with this ObjectSecurity object is protected.
Gets a Boolean value that specifies whether the audit rules associated with this ObjectSecurity object are in canonical order.
Gets a Boolean value that specifies whether the System Access Control List (SACL) associated with this ObjectSecurity object is protected.
Gets or sets a Boolean value that specifies whether the audit rules associated with this ObjectSecurity object have been modified.
Gets the Type object associated with the audit rules of this ObjectSecurity object. The Type object must be an object that can be cast as a SecurityIdentifier object.
Gets or sets a Boolean value that specifies whether the group associated with the securable object has been modified.
Gets a Boolean value that specifies whether this ObjectSecurity object is a container object.
Gets a Boolean value that specifies whether this ObjectSecurity object is a directory object.
Gets or sets a Boolean value that specifies whether the owner of the securable object has been modified.
Gets the security descriptor for this instance.
protected ObjectSecurity()
Initializes a new instance of the ObjectSecurity class.
Initializes a new instance of the ObjectSecurity class.
Initializes a new instance of the ObjectSecurity class.
Returns a Boolean value that specifies whether the security descriptor associated with this ObjectSecurity object can be converted to the Security Descriptor Definition Language (SDDL) format.
public abstract AccessRule AccessRuleFactory(IdentityReference identityReference, int accessMask, bool isInherited, InheritanceFlags inheritanceFlags, PropagationFlags propagationFlags, AccessControlType type)
Initializes a new instance of the AccessRule class with the specified values.
public abstract AuditRule AuditRuleFactory(IdentityReference identityReference, int accessMask, bool isInherited, InheritanceFlags inheritanceFlags, PropagationFlags propagationFlags, AuditFlags flags)
Initializes a new instance of the AuditRule class with the specified values.
Gets the primary group associated with the specified owner.
Gets the owner associated with the specified primary group.
Returns an array of byte values that represents the security descriptor information for this ObjectSecurity object.
Returns the Security Descriptor Definition Language (SDDL) representation of the specified sections of the security descriptor associated with this ObjectSecurity object.
protected abstract bool ModifyAccess(AccessControlModification modification, AccessRule rule, out bool modified)
Applies the specified modification to the Discretionary Access Control List (DACL) associated with this ObjectSecurity object.
public virtual bool ModifyAccessRule(AccessControlModification modification, AccessRule rule, out bool modified)
Applies the specified modification to the Discretionary Access Control List (DACL) associated with this ObjectSecurity object.
protected abstract bool ModifyAudit(AccessControlModification modification, AuditRule rule, out bool modified)
Applies the specified modification to the System Access Control List (SACL) associated with this ObjectSecurity object.
public virtual bool ModifyAuditRule(AccessControlModification modification, AuditRule rule, out bool modified)
Applies the specified modification to the System Access Control List (SACL) associated with this ObjectSecurity object.
protected virtual void Persist(bool enableOwnershipPrivilege, string name, AccessControlSections includeSections)
Saves the specified sections of the security descriptor associated with this ObjectSecurity object to permanent storage. We recommend that the values of the includeSections parameters passed to the constructor and persist methods be identical.
Saves the specified sections of the security descriptor associated with this ObjectSecurity object to permanent storage. We recommend that the values of the includeSections parameters passed to the constructor and persist methods be identical.
Saves the specified sections of the security descriptor associated with this ObjectSecurity object to permanent storage. We recommend that the values of the includeSections parameters passed to the constructor and persist methods be identical.
Removes all access rules associated with the specified IdentityReference.
Removes all audit rules associated with the specified IdentityReference.
Locks this ObjectSecurity object for read access.
Unlocks this ObjectSecurity object for read access.
Sets or removes protection of the access rules associated with this ObjectSecurity object. Protected access rules cannot be modified by parent objects through inheritance.
Sets or removes protection of the audit rules associated with this ObjectSecurity object. Protected audit rules cannot be modified by parent objects through inheritance.
Sets the primary group for the security descriptor associated with this ObjectSecurity object.
Sets the owner for the security descriptor associated with this ObjectSecurity object.
Sets the security descriptor for this ObjectSecurity object from the specified array of byte values.
public void SetSecurityDescriptorBinaryForm(byte[] binaryForm, AccessControlSections includeSections)
Sets the specified sections of the security descriptor for this ObjectSecurity object from the specified array of byte values.
Sets the security descriptor for this ObjectSecurity object from the specified Security Descriptor Definition Language (SDDL) string.
Sets the specified sections of the security descriptor for this ObjectSecurity object from the specified Security Descriptor Definition Language (SDDL) string.
Locks this ObjectSecurity object for write access.
Unlocks this ObjectSecurity object for write access.