Langue

IAuthorizationExtension.CreateSecurityDescriptor Méthode

Définition

Retourne le descripteur de sécurité stocké avec un élément individuel dans la base de données du serveur de rapports.

public:
 cli::array <System::Byte> ^ CreateSecurityDescriptor(Microsoft::ReportingServices::Interfaces::AceCollection ^ acl, Microsoft::ReportingServices::Interfaces::SecurityItemType itemType, [Runtime::InteropServices::Out] System::String ^ % stringSecDesc);
public byte[] CreateSecurityDescriptor(Microsoft.ReportingServices.Interfaces.AceCollection acl, Microsoft.ReportingServices.Interfaces.SecurityItemType itemType, out string stringSecDesc);
abstract member CreateSecurityDescriptor : Microsoft.ReportingServices.Interfaces.AceCollection * Microsoft.ReportingServices.Interfaces.SecurityItemType * string -> byte[]
Public Function CreateSecurityDescriptor (acl As AceCollection, itemType As SecurityItemType, ByRef stringSecDesc As String) As Byte()

Paramètres

acl
AceCollection

La liste des codes d’accès créée par le serveur de rapports pour l’article. Il contient une collection d’entrées de codes d’accès.

itemType
SecurityItemType

Le type d’article pour lequel le descripteur de sécurité est créé.

stringSecDesc
String

Optional. Une description conviviale du descripteur de sécurité pouvant être utilisée pour le débogage. Ceci n’est pas stocké par le serveur de rapports.

Retours

Byte[]

Une liste de codes d’accès sérialisée.

Exemples

L’exemple suivant utilise la CreateSecurityDescriptor méthode pour sérialiser la liste des codes d’accès d’un élément dans la base de données du serveur de rapports. Vous pouvez utiliser cette méthode pour sérialiser des informations supplémentaires de sécurité ou d’authentification dans le cadre du descripteur de sécurité.

Public Function CreateSecurityDescriptor(acl As AceCollection, itemType As SecurityItemType, ByRef stringSecDesc As String) As Byte()  
   ' Creates a memory stream and serializes the ACL for storage.  
   Dim bf As New BinaryFormatter()  
   Dim result As New MemoryStream()  
   bf.Serialize(result, acl)  
   stringSecDesc = Nothing  
   Return result.GetBuffer()  
End Function 'CreateSecurityDescriptor  
public byte[] CreateSecurityDescriptor(AceCollection acl, SecurityItemType itemType, out string stringSecDesc)  
{  
   // Creates a memory stream and serializes the ACL for storage.  
   BinaryFormatter bf = new BinaryFormatter();  
   MemoryStream result = new MemoryStream();  
   bf.Serialize(result, acl);  
   stringSecDesc = null;  
   return result.GetBuffer();  
}  

Remarques

Implémentez cette méthode pour sérialiser la liste de codes d’accès appliquée à un élément dans la base de données du serveur de rapports.

Un descripteur de sécurité décrit ce qui suit :

  • Le groupe ou l’utilisateur qui a une sorte de permission pour effectuer des opérations sur l’objet.

  • Type de l’élément.

  • Une liste discrétionnaire de contrôle d’accès contrôlant l’accès à l’article.

Vous pouvez contrôler l’accès à un objet et à ses propriétés à l’aide d’un descripteur de sécurité. En utilisant un descripteur de sécurité SQL Server Reporting Services, vous pouvez :

  • Accorder à un fiduciaire des droits d’accès à un bien et à ses biens.

  • Identifiez les fiduciaires en utilisant un nom principal ou un identifiant utilisateur.

  • Définissez, récupérez et modifiez le descripteur de manière programmatique.

Le descripteur de sécurité de chaque élément est créé par un appel à la CreateSecurityDescriptor méthode et accessible par un appel à CheckAccess via le serveur de rapports. Cette propriété est le descripteur de l’élément dans un tableau d’octets sérialisé. Le descripteur est physiquement stocké dans la base de données du serveur de rapports, qui est basée en interne sur une collection d’entrées de contrôle d’accès. Lorsque vous demandez une vérification d’accès sur un élément, le tableau d’octets est récupéré depuis la base de données et transmis comme argument à la CheckAccess méthode. Lorsque vous définissez cette propriété pour un élément, le AceCollection est passé et vous devez créer le descripteur binaire pour cet élément.

S’applique à