Lingua

IAuthorizationExtension.CreateSecurityDescriptor Metodo

Definizione

Restituisce il descrittore di sicurezza che è memorizzato con un singolo elemento nel database del server di report.

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

Parametri

acl
AceCollection

La lista dei codici di accesso creata dal server di report per l'elemento. Contiene una raccolta di voci di codici di accesso.

itemType
SecurityItemType

Il tipo di oggetto per cui è stato creato il descrittore di sicurezza.

stringSecDesc
String

Optional. Una descrizione intuitiva del descrittore di sicurezza che può essere utilizzata per il debug. Questo non viene memorizzato dal server di rapporti.

Valori restituiti

Byte[]

Una lista serializzata di codici di accesso.

Esempio

Il seguente esempio utilizza il CreateSecurityDescriptor metodo per serializzare la lista dei codici di accesso di un elemento nel database del server di report. Puoi utilizzare questo metodo per serializzare ulteriori informazioni di sicurezza o autenticazione come parte del descriptor di sicurezza.

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

Commenti

Implementa questo metodo per serializzare la lista dei codici di accesso applicata a un elemento nel database del server di rapporti.

Un descrittore di sicurezza descrive quanto segue:

  • Il gruppo o l'utente che ha qualche tipo di permesso per eseguire operazioni sull'oggetto.

  • Tipo dell'elemento.

  • Una lista di controllo accessi discrezionale che controlla l'accesso all'oggetto.

Puoi controllare l'accesso a un oggetto e alle sue proprietà usando un descrittore di sicurezza. Utilizzando un descrittore di sicurezza di SQL Server Reporting Services, puoi:

  • Concedere al fiduciario diritti di accesso su un oggetto e le sue proprietà.

  • Identifica i fiduciari usando un nome principale o un ID utente.

  • Imposta, recupera e modifica il descrittore in modo programmativo.

Il descrittore di sicurezza di ogni elemento viene creato tramite una chiamata al CreateSecurityDescriptor metodo e accessibile tramite una chiamata a CheckAccess tramite il server di report. Questa proprietà è il descrittore dell'elemento in un array di byte serializzato. Il descrittore è fisicamente memorizzato nel database del server di report, che si basa internamente su una raccolta di voci di controllo accesso. Quando richiedi un controllo di accesso su un elemento, l'array di byte viene recuperato dal database e passato come argomento al CheckAccess metodo. Quando si imposta questa proprietà per un elemento, il AceCollection viene passato e si deve creare il descrittore binario per quell'elemento.

Si applica a