IAuthorizationExtension.CreateSecurityDescriptor Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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
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.