Sprache

IAuthorizationExtension.CreateSecurityDescriptor Methode

Definition

Gibt den Sicherheitsdeskriptor zurück, der zusammen mit einem einzelnen Element in der Berichtsserver-Datenbank gespeichert ist.

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()

Parameter

acl
AceCollection

Die Zugangscode-Liste, die vom Berichtsserver für den Eintrag erstellt wurde. Es enthält eine Sammlung von Zugangscode-Einträgen.

itemType
SecurityItemType

Die Art des Artikels, für den der Sicherheitsdeskriptor erstellt wird.

stringSecDesc
String

Dies ist optional. Eine benutzerfreundliche Beschreibung des Sicherheitsbeschreibens, der zum Debugging verwendet werden kann. Dies wird nicht vom Berichtsserver gespeichert.

Gibt zurück

Byte[]

Eine Liste der serialisierten Zugangscodes.

Beispiele

Das folgende Beispiel verwendet die Methode CreateSecurityDescriptor , um die Zugangscode-Liste für einen Eintrag in der Berichtsdatenbank zu serialisieren. Sie können diese Methode nutzen, um zusätzliche Sicherheits- oder Authentifizierungsinformationen als Teil des Sicherheitsdeskriptors zu serialisieren.

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();  
}  

Hinweise

Implementieren Sie diese Methode, um die Zugangscode-Liste zu serialisieren, die auf ein Element in der Berichtsdatenbank angewendet wird.

Eine Sicherheitsbeschreibung beschreibt Folgendes:

  • Die Gruppe oder der Benutzer, der eine Art Berechtigung hat, Operationen am Objekt durchzuführen.

  • Der Elementtyp.

  • Eine diskretionäre Zugriffskontrollliste, die den Zugriff auf den Gegenstand steuert.

Man kann den Zugriff auf einen Gegenstand und seine Eigenschaften mit einem Sicherheitsdeskriptor steuern. Mit einem SQL Server Reporting Services-Sicherheitsdeskriptor können Sie:

  • Gewähren Sie einem Treuhänder Zugangsrechte zu einem Gegenstand und dessen Eigentum.

  • Identifizieren Sie Treuhänder mit einem Hauptnamen oder einer Benutzer-ID.

  • Setze, rufe ab und modifiziere den Deskriptor programmatisch.

Der Sicherheitsdeskriptor jedes Elements wird durch einen Aufruf der Methode CreateSecurityDescriptor erstellt und durch einen Aufruf CheckAccess über den Berichtsserver aufgerufen. Diese Eigenschaft ist der Deskriptor des Elements in einem serialisierten Byte-Array. Der Deskriptor wird physisch in der Berichtsserver-Datenbank gespeichert, die intern auf einer Sammlung von Zugriffskontrolleinträgen basiert. Wenn Sie eine Zugriffsprüfung auf ein Element anfordern, wird das Byte-Array aus der Datenbank abgerufen und als Argument an die Methode CheckAccess weitergegeben. Wenn Sie diese Eigenschaft für ein Element setzen, wird die passiert AceCollection und Sie müssen den binären Deskriptor für das Element erstellen.

Gilt für: