Share via


Sécurité d'accès du code pour System.DirectoryServices

La sécurité d'accès du code est un mécanisme qui limite l'accès du code aux ressources et aux opérations protégées. La sécurité d'accès du code permet au code d'avoir un niveau de confiance à différents degrés, en fonction de son origine et d'autres aspects de son identité. Pour plus d'informations, consultez Code Access Security.

Conditions de sécurité de l'appelant

Les bibliothèques System.DirectoryServices.dll et System.DirectoryServices.Protocols.dll contiennent l'implémentation des espaces de noms System.DirectoryServices, System.DirectoryServices.ActiveDirectory et System.DirectoryServices.Protocols. Il s'agit de bibliothèques sécurisées qui exigent que les appelants disposent d'autorisations DirectoryServicesPermission illimitées de façon à accéder aux classes, aux méthodes et aux propriétés que contiennent les bibliothèques.

Les applications qui ne reçoivent pas la confiance totale du système de sécurité d'accès du code d'exécution ne peuvent pas appeler de bibliothèques managées partagées, sauf si elles sont marquées de l'attribut AllowPartiallyTrustedCallersAttribute. Par défaut, tout le code qui s'exécute depuis les zones Internet ou intranet est d'un niveau de confiance partiel. Dans .NET Framework 2.0, les bibliothèques System.DirectoryServices.dll et System.DirectoryServices.Protocols.dll possèdent l'attribut AllowPartiallyTrustedCallersAttribute utilisé pour permettre l'exécution du code dans un contexte de confiance partielle ou d'être appelé par du code d'un niveau de confiance partiel. L'appelant ne doit donc pas obligatoirement être un assembly bénéficiant d'une confiance totale pour accéder aux bibliothèques System.DirectoryServices.dll et System.DirectoryServices.Protocols.dll tant qu'il possède une autorisation DirectoryServicesPermission illimitée.

Demande d'autorisations

Une demande de liaison provoque une vérification de sécurité pendant la compilation juste-à-temps, et non lors de l'exécution, et ne vérifie que l'appelant immédiat du code. Un parcours de pile complet n'est pas exécuté avec la demande de liaison comme c'est le cas pour une demande classique. Les demandes de liaison sont en moyenne plus rapides que les demandes classiques, mais le code qui utilise la demande de liaison est toujours susceptible de subir des attaques malveillantes. L'appelant d'une méthode ou d'une classe quelconque marqué comme demande de liaison doit effectuer tous les contrôles de sécurité jugés nécessaires par les concepteurs de l'application. Pour une comparaison approfondie de Demands et Link Demands, voir Demand vs. LinkDemand.

Tous les points d'entrée des espaces de noms System.DirectoryServices, System.DirectoryServices.ActiveDirectory et System.DirectoryServices.Protocols effectuent une demande dans le cadre d'une autorisation DirectoryServicesPermission illimitée (par exemple, les constructeurs de DirectoryEntry, DirectorySearcher, DirectoryContext, LdapConnection et DsmlSoapHttpConnection). Ils effectuent une demande de liaison dans le cadre des autres autorisations requises. Pour plus d'informations sur les types de demandes effectuées pour les classes et les méthodes des trois espaces de noms, voir les sections de référence des espaces de noms System.DirectoryServices, System.DirectoryServices.ActiveDirectory et System.DirectoryServices.Protocols.

Octroi d'une autorisation DirectoryServicesPermission illimitée

Par défaut, un assembly bénéficiant d'une confiance totale reçoit une autorisation DirectoryServicesPermission illimitée. Cette autorisation peut également être accordée explicitement à d'autres assemblys à l'aide d'outils tels que Code Access Security Policy Tool (Caspol.exe), Caspol.exe.

Voir aussi

Référence

System.DirectoryServices
System.DirectoryServices.ActiveDirectory
System.DirectoryServices.Protocols
DirectoryServicesPermission

Concepts

Mise en route dans System.DirectoryServices

Autres ressources

Code Access Security
Secure Coding Guidelines
Security Demands

Send comments about this topic to Microsoft.

Copyright © 2007 par Microsoft Corporation. Tous droits réservés.