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