Protezione dall'accesso di codice per System.DirectoryServices

La protezione dall'accesso di codice è un meccanismo che limita l'accesso del codice alle risorse e alle operazioni protette. Mediante la protezione dall'accesso di codice è possibile considerare il codice come attendibile a vari livelli, a seconda dell'origine del codice e di altri aspetti relativi all'identità del codice. Per ulteriori informazioni, vedere Code Access Security.

Requisiti di sicurezza del chiamante

Le librerie System.DirectoryServices.dll e System.DirectoryServices.Protocols.dll contengono le implementazioni degli spazi dei nomi System.DirectoryServices, System.DirectoryServices.ActiveDirectory e System.DirectoryServices.Protocols. Si tratta di librerie protette per le quali i relativi chiamanti devono disporre di un'autorizzazione illimitata DirectoryServicesPermission per poter accedere alle classi, ai metodi e alle proprietà esposte dalle librerie.

Le applicazioni che non sono ritenute del tutto attendibili dal sistema di protezione dall'accesso di codice runtime non possono chiamare le librerie gestite condivise a meno che la libreria non sia contrassegnata da AllowPartiallyTrustedCallersAttribute. Per impostazione predefinita, tutto il codice eseguito dalle aree Intranet locale o Internet è parzialmente attendibile. In .NET Framework 2.0, a System.DirectoryServices.dll e a System.DirectoryServices.Protocols.dll è applicato l'attributo AllowPartiallyTrustedCallersAttribute per consentire l'esecuzione del codice da un contesto parzialmente attendibile o la chiamata del codice da un codice parzialmente attendibile. Pertanto, per accedere a System.DirectoryServices.dll e System.DirectoryServices.Protocols.dll, il chiamante non deve essere un assembly completamente attendibile, purché abbia ricevuto l'autorizzazione illimitata DirectoryServicesPermission.

Richiesta di autorizzazioni

Una richiesta di collegamento determina l'esecuzione di un controllo di sicurezza in fase di compilazione JIT, invece che runtime, durante il quale viene esaminato solo l'assembly chiamante immediato del codice. Con la richiesta di collegamento non viene eseguito un percorso completo dello stack come con una richiesta normale. Le richieste di collegamento sono mediamente più veloci delle richieste normali ma il codice utilizzato dalla richiesta di collegamento è tuttora soggetto ad attacchi. Il chiamante di qualsiasi metodo o classe contrassegnato come richiesta di collegamento deve eseguire tutti i controlli di sicurezza ritenuti necessari dai progettisti dell'applicazione. Per un confronto approfondito tra Demands e Link Demands, vedere Demand vs. LinkDemand.

Tutti i punti di ingresso degli spazi dei nomi System.DirectoryServices, System.DirectoryServices.ActiveDirectory e System.DirectoryServices.Protocols eseguono una richiesta per l'autorizzazione illimitata DirectoryServicesPermission (ad esempio i costruttori di DirectoryEntry, DirectorySearcher, DirectoryContext, LdapConnection e DsmlSoapHttpConnection). Eseguono una richiesta di collegamento per altre autorizzazioni obbligatorie. Per ulteriori informazioni sui tipi di richieste effettuate per classe e metodi dei tre spazi dei nomi, vedere le sezioni relative allo spazio dei nomi System.DirectoryServices, System.DirectoryServices.ActiveDirectory e System.DirectoryServices.Protocols.

Concessione di Unrestricted DirectoryServicesPermission

Per impostazione predefinita, a un assembly completamente attendibile viene concessa l'autorizzazione illimitata DirectoryServicesPermission. Questa autorizzazione può essere concessa anche in modo esplicito ad altri assembly, utilizzando strumenti come Code Access Security Policy Tool (Caspol.exe), Caspol.exe.

Vedere anche

Riferimenti

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

Concetti

Introduzione a System.DirectoryServices

Altre risorse

Code Access Security
Secure Coding Guidelines
Security Demands

Send comments about this topic to Microsoft.

Copyright © 2007 Microsoft Corporation. Tutti i diritti riservati.