Partager via


Classe AceStruct

Represents 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.

Hiérarchie d'héritage

System.Object
  Microsoft.ReportingServices.Interfaces.AceStruct

Espace de noms :  Microsoft.ReportingServices.Interfaces
Assemblys :   Microsoft.ReportingServices.SharePoint.UI.WebParts (en Microsoft.ReportingServices.SharePoint.UI.WebParts.dll)
  Microsoft.ReportingServices.Interfaces (en Microsoft.ReportingServices.Interfaces.dll)

Syntaxe

'Déclaration
<SerializableAttribute> _
Public Class AceStruct
'Utilisation
Dim instance As AceStruct
[SerializableAttribute]
public class AceStruct
[SerializableAttribute]
public ref class AceStruct
[<SerializableAttribute>]
type AceStruct =  class end
public class AceStruct

Le type AceStruct expose les membres suivants.

Constructeurs

  Nom Description
Méthode publique AceStruct(String) Creates a new instance of the AceStruct class with the specified principal name.
Méthode publique AceStruct(AceStruct) Creates a new instance of the AceStruct class based on an existing AceStruct object.

Haut de la page

Méthodes

  Nom Description
Méthode publique Equals (hérité de Object.)
Méthode protégée Finalize (hérité de Object.)
Méthode publique GetHashCode (hérité de Object.)
Méthode publique GetType (hérité de Object.)
Méthode protégée MemberwiseClone (hérité de Object.)
Méthode publique ToString (hérité de Object.)

Haut de la page

Champs

  Nom Description
Champ public CatalogOperations Specifies operations that users can perform on catalog item types.
Champ public DatasourceOperations Specifies operations that users can perform on data source item types.
Champ public FolderOperations Specifies operations that users can perform on folder item types.
Champ public ModelItemOperations Specifies operations that users can perform on model item operation types.
Champ public ModelOperations Specifies operations that users can perform on model operation types.
Champ public PrincipalName Specifies a user, group, or computer name.
Champ public ReportOperations Specifies operations that users can perform on report item types.
Champ public ResourceOperations Specifies operations that users can perform on resource item types.

Haut de la page

Notes

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.

Sécurité des threads

Tous les membres publics static (Shared dans Visual Basic) de ce type sont thread-safe. Tous les membres de l'instance ne sont pas garantis comme étant thread-safe.

Voir aussi

Référence

Espace de noms Microsoft.ReportingServices.Interfaces