IAuthorizationExtension.CreateSecurityDescriptor Método

Definição

Retorna o descritor de segurança que está armazenado com um item individual no banco de dados do servidor de relatórios.

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

Parâmetros

acl
AceCollection

A lista de códigos de acesso criada pelo servidor de relatórios para o item. Ele contém uma coleção de entradas de códigos de acesso.

itemType
SecurityItemType

O tipo de item para o qual o descritor de segurança é criado.

stringSecDesc
String

Optional. Uma descrição amigável do descritor de segurança que pode ser usada para depuração. Isso não é armazenado pelo servidor de relatórios.

Retornos

Byte[]

Uma lista serializada de códigos de acesso.

Exemplos

O exemplo a seguir utiliza o CreateSecurityDescriptor método para serializar a lista de códigos de acesso de um item no banco de dados do servidor de relatórios. Você pode usar esse método para serializar informações adicionais de segurança ou autenticação como parte do descritor de segurança.

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

Comentários

Implemente esse método para serializar a lista de códigos de acesso aplicada a um item no banco de dados do servidor de relatórios.

Um descritor de segurança descreve o seguinte:

  • O grupo ou usuário que tem algum tipo de permissão para realizar operações no item.

  • O tipo do item.

  • Uma lista de controle de acesso discricionária controlando o acesso ao item.

Você pode controlar o acesso a um item e suas propriedades usando um descritor de segurança. Usando um descritor de segurança do SQL Server Reporting Services, você pode:

  • Conceda ao administrador direitos de acesso a um item e seus bens.

  • Identifique os trustees usando um nome principal ou ID de usuário.

  • Defina, recupere e modifique o descritor programaticamente.

O descritor de segurança de cada item é criado por uma chamada ao CreateSecurityDescriptor método e acessado por uma chamada para CheckAccess através do servidor de relatórios. Essa propriedade é o descritor do item em um array de bytes serializado. O descritor é armazenado fisicamente no banco de dados do servidor de relatórios, que é internamente baseado em uma coleção de entradas de controle de acesso. Quando você solicita uma verificação de acesso em um item, o array de bytes é recuperado do banco de dados e passado como argumento para o CheckAccess método. Quando você define essa propriedade para um item, o AceCollection é passado e você é obrigado a criar o descritor binário para o item.

Aplica-se a