AceCollection Class

Represents a collection of access control entries specifying access rights for one or more trustees.

Inheritance Hierarchy

System.Object
  System.Collections.CollectionBase
    Microsoft.ReportingServices.Interfaces.AceCollection

Namespace:  Microsoft.ReportingServices.Interfaces
Assemblies:   Microsoft.ReportingServices.SharePoint.UI.WebParts (in Microsoft.ReportingServices.SharePoint.UI.WebParts.dll)
  Microsoft.ReportingServices.Interfaces (in Microsoft.ReportingServices.Interfaces.dll)

Syntax

'Declaration
<SerializableAttribute> _
Public NotInheritable Class AceCollection _
    Inherits CollectionBase
'Usage
Dim instance As AceCollection
[SerializableAttribute]
public sealed class AceCollection : CollectionBase
[SerializableAttribute]
public ref class AceCollection sealed : public CollectionBase
[<SealedAttribute>]
[<SerializableAttribute>]
type AceCollection =  
    class
        inherit CollectionBase
    end
public final class AceCollection extends CollectionBase

The AceCollection type exposes the following members.

Constructors

  Name Description
Public method AceCollection Initializes a new instance of the AceCollection class.

Top

Properties

  Name Description
Public property Capacity (Inherited from CollectionBase.)
Public property Count (Inherited from CollectionBase.)
Protected property InnerList (Inherited from CollectionBase.)
Public property Item Gets or sets the element at the specified index. In C#, this property is the indexer for the AceCollection class.
Protected property List (Inherited from CollectionBase.)

Top

Methods

  Name Description
Public method Add Adds an object to the end of the AceCollection.
Public method Clear (Inherited from CollectionBase.)
Public method Equals (Inherited from Object.)
Protected method Finalize (Inherited from Object.)
Public method GetEnumerator (Inherited from CollectionBase.)
Public method GetHashCode (Inherited from Object.)
Public method GetType (Inherited from Object.)
Protected method MemberwiseClone (Inherited from Object.)
Protected method OnClear (Inherited from CollectionBase.)
Protected method OnClearComplete (Inherited from CollectionBase.)
Protected method OnInsert (Inherited from CollectionBase.)
Protected method OnInsertComplete (Inherited from CollectionBase.)
Protected method OnRemove (Inherited from CollectionBase.)
Protected method OnRemoveComplete (Inherited from CollectionBase.)
Protected method OnSet (Inherited from CollectionBase.)
Protected method OnSetComplete (Inherited from CollectionBase.)
Protected method OnValidate (Inherited from CollectionBase.)
Public method RemoveAt (Inherited from CollectionBase.)
Public method ToString (Inherited from Object.)

Top

Explicit Interface Implementations

  Name Description
Explicit interface implemetationPrivate method IList.Add (Inherited from CollectionBase.)
Explicit interface implemetationPrivate method IList.Contains (Inherited from CollectionBase.)
Explicit interface implemetationPrivate method ICollection.CopyTo (Inherited from CollectionBase.)
Explicit interface implemetationPrivate method IList.IndexOf (Inherited from CollectionBase.)
Explicit interface implemetationPrivate method IList.Insert (Inherited from CollectionBase.)
Explicit interface implemetationPrivate property IList.IsFixedSize (Inherited from CollectionBase.)
Explicit interface implemetationPrivate property IList.IsReadOnly (Inherited from CollectionBase.)
Explicit interface implemetationPrivate property ICollection.IsSynchronized (Inherited from CollectionBase.)
Explicit interface implemetationPrivate property IList.Item (Inherited from CollectionBase.)
Explicit interface implemetationPrivate method IList.Remove (Inherited from CollectionBase.)
Explicit interface implemetationPrivate property ICollection.SyncRoot (Inherited from CollectionBase.)

Top

Remarks

An AceCollection instance contains items of type AceStruct and is used to represent an access control list (ACL) for items in the report server database.

An AceCollection identifies the trustees that are allowed access to a securable item in the report server database. When a user or process tries to access a securable item, the security extension checks the access control entries in the object's access control entry collection to determine whether to grant access to it. The security extension checks the access control entries in sequence until it finds one or more that allow all the requested access rights. For more information about access checks, see CheckAccess.

An AceCollection is similar to an access control list in Microsoft Windows. It is a list that tells a report server which access rights each user has to a particular item in the report server database, such as a folder or an individual report. Each item has a security descriptor that identifies its access control list. The list has an entry for each system user with access privileges. The most common privileges include the ability to read properties, to update content, and to execute reports. Each access control list has one or more access control entries consisting of the name of a user or group and the operations that user is allowed to perform. For each of these users or groups, the access privileges are stated in a collection of enumerable operations. Generally, the system administrator or the item owner creates the access control list for an object when setting report server policies through the Report Server Web service. Management applications (like Report Manager) call the Web service SetPolicies and SetSystemPolicies methods.

An AceCollection is passed as an argument to the CreateSecurityDescriptor method of the IAuthorizationExtension interface. You implement CreateSecurityDescriptor to serialize the AceCollection and any other metadata that you require for your security descriptor. You must also process the AceCollection for an item in the report server database when you implement the CheckAccess method.

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.