AceCollection Class

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

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

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.

Inheritance Hierarchy

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

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.