AccessControlledMetadataObject Class
Represents an object that has the access control list (ACL) authorization checks embedded in one or more of its methods.
Inheritance Hierarchy
System.Object
Microsoft.SharePoint.BusinessData.Administration.MetadataObject
Microsoft.SharePoint.BusinessData.Administration.AccessControlledMetadataObject
Namespace: Microsoft.SharePoint.BusinessData.Administration
Assembly: Microsoft.SharePoint (in Microsoft.SharePoint.dll)
Syntax
'Declaration
<SharePointPermissionAttribute(SecurityAction.InheritanceDemand, ObjectModel := True)> _
<SharePointPermissionAttribute(SecurityAction.LinkDemand, ObjectModel := True)> _
Public MustInherit Class AccessControlledMetadataObject _
Inherits MetadataObject
'Usage
Dim instance As AccessControlledMetadataObject
[SharePointPermissionAttribute(SecurityAction.InheritanceDemand, ObjectModel = true)]
[SharePointPermissionAttribute(SecurityAction.LinkDemand, ObjectModel = true)]
public abstract class AccessControlledMetadataObject : MetadataObject
Remarks
The ACL to authorize against might or might not be stored on the object. If the object does not have a specific ACL stored on itself, it obtains an ACL from the closest parent that has an ACL. Any classes derived from this object is forced to provide the logic to get the nearest object with an ACL by walking up the metadata hierarchy.
An object should derive a class from AccessControlledMetadataObject when its methods require access control but can handle the overhead of walking up the tree, find the nearest object with an ACL, and get the ACL to authorize against. Typically, fine-grained objects or objects that require infrequent access checks are candidates to derive a class from this.
Notice that you cannot set an ACL on an AccessControlledMetadataObject object.
Thread Safety
Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
See Also
Reference
AccessControlledMetadataObject Members
Microsoft.SharePoint.BusinessData.Administration Namespace
Inheritance Hierarchy
System.Object
Microsoft.SharePoint.BusinessData.Administration.MetadataObject
Microsoft.SharePoint.BusinessData.Administration.AccessControlledMetadataObject
Microsoft.SharePoint.BusinessData.Administration.Action
Microsoft.SharePoint.BusinessData.Administration.ActionParameter
Microsoft.SharePoint.BusinessData.Administration.AssociationGroup
Microsoft.SharePoint.BusinessData.Administration.FilterDescriptor
Microsoft.SharePoint.BusinessData.Administration.Identifier
Microsoft.SharePoint.BusinessData.Administration.IndividuallySecurableMetadataObject
Microsoft.SharePoint.BusinessData.Administration.LobSystemInstance
Microsoft.SharePoint.BusinessData.Administration.Parameter
Microsoft.SharePoint.BusinessData.Administration.TypeDescriptor