AceCollection Class


Updated: February 25, 2016

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

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


public sealed class AceCollection : CollectionBase


Initializes a new instance of the AceCollection class.


(Inherited from CollectionBase.)


(Inherited from CollectionBase.)


Gets or sets the element at the specified index. In C#, this property is the indexer for the AceCollection class.


Adds an object to the end of the AceCollection.


(Inherited from CollectionBase.)


(Inherited from Object.)


(Inherited from CollectionBase.)


(Inherited from Object.)


(Inherited from Object.)


(Inherited from CollectionBase.)


(Inherited from Object.)

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.

Any public static ( Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Return to top