IAuthorizationExtension.CreateSecurityDescriptor Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Devuelve el descriptor de seguridad que se almacena con un elemento individual en la base de datos del servidor de informes.
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
La lista de códigos de acceso creada por el servidor de informes para el artículo. Contiene una colección de entradas de códigos de acceso.
- itemType
- SecurityItemType
El tipo de elemento para el que se crea el descriptor de seguridad.
- stringSecDesc
- String
Optional. Una descripción fácil de usar del descriptor de seguridad que puede usarse para depurar. Esto no se almacena en el servidor de informes.
Devoluciones
Una lista de códigos de acceso serializada.
Ejemplos
El siguiente ejemplo utiliza el CreateSecurityDescriptor método para serializar la lista de códigos de acceso de un elemento en la base de datos del servidor de informes. Puedes usar este método para serializar información adicional de seguridad o autenticación como parte del descriptor de seguridad.
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();
}
Comentarios
Implementa este método para serializar la lista de códigos de acceso que se aplica a un elemento en la base de datos del servidor de informes.
Un descriptor de seguridad describe lo siguiente:
El grupo o usuario que tiene algún tipo de permiso para realizar operaciones sobre el objeto.
Tipo del elemento.
Una lista discrecional de control de acceso que controla el acceso al artículo.
Puedes controlar el acceso a un objeto y sus propiedades usando un descriptor de seguridad. Utilizando un descriptor de seguridad de SQL Server Reporting Services, puedes:
Concede a un fiduciario derechos de acceso a un objeto y sus propiedades.
Identifica a los fiduciarios usando un nombre principal o un ID de usuario.
Establecer, recuperar y modificar el descriptor programáticamente.
El descriptor de seguridad de cada elemento se crea mediante una llamada al CreateSecurityDescriptor método y se accede mediante una llamada a CheckAccess a través del servidor de informes. Esta propiedad es el descriptor del elemento en un array de bytes serializado. El descriptor se almacena físicamente en la base de datos del servidor de informes, que internamente se basa en una colección de entradas de control de acceso. Cuando solicitas una comprobación de acceso sobre un elemento, el array de bytes se recupera de la base de datos y se pasa como argumento al CheckAccess método. Cuando configuras esta propiedad para un elemento, se pasa AceCollection y se requiere crear el descriptor binario para el elemento.