Condividi tramite


AceStruct Class

An access control entry for a trustee (user, group, or computer) that specifies the operations that a trustee can perform on items in the report server database.

Spazio dei nomi: Microsoft.ReportingServices.Interfaces
Assembly : Microsoft.ReportingServices.Interfaces (in microsoft.reportingservices.interfaces.dll)

Sintassi

'Dichiarazione
<SerializableAttribute> _
Public Class AceStruct
[SerializableAttribute] 
public class AceStruct
[SerializableAttribute] 
public ref class AceStruct
/** @attribute SerializableAttribute() */ 
public class AceStruct
SerializableAttribute 
public class AceStruct

Osservazioni

An AceStruct object contains collections of operations or permissions for an individual user, group or computer. A collection of AceStruct objects constitutes an AceCollection, which functions as the access control list for an item in the report server database.

AceStruct objects are a critical component to the security descriptor that is associated with securable items in the report server database. An AceStruct object is a data structure that contains the name of the principal user and the operations that the user is allowed to perform on a particular item in the report server database. An AceStruct is similar to an access control entry that you might be familiar with from other Microsoft server products, in that it is an element of an access control list (AceCollection object in Reporting Services). When evaluating an AceCollection, you enumerate one or more AceStruct objects as part of the collection. A simple access check using C# might look like the following:

// C#
AceCollection acl = DeserializeAcl(secDesc);
foreach(AceStruct ace in acl)
{
   if (userName == ace.PrincipalName)
   {
      foreach(FolderOperation aclOperation in ace.FolderOperations)
      {
         if (aclOperation == requiredOperation)
         return true;
      }
   }
}

When working with access control entries, you do not specify operations or trustees. This is handled by the report server and the Report Server Web service methods for setting policies and assigning roles. In your security extension, you need only process the access control entries and grant or deny access based on a given set of conditions.

Inheritance Hierarchy

System.Object
  Microsoft.ReportingServices.Interfaces.AceStruct

Thread Safety

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

Piattaforme

Piattaforme di sviluppo

Per un elenco delle piattaforme supportate, vedere Requisiti hardware e software per l'Installazione di SQL Server 2005.

Piattaforme di destinazione

Per un elenco delle piattaforme supportate, vedere Requisiti hardware e software per l'Installazione di SQL Server 2005.

Vedere anche

Riferimento

AceStruct Members
Microsoft.ReportingServices.Interfaces Namespace