Seguridad de acceso a código para System.DirectoryServices
La seguridad de acceso a código es un mecanismo que limita el acceso que tiene el código para proteger recursos y operaciones. La seguridad de acceso a código proporciona al código varios grados de confianza, dependiendo de su procedencia y de otros aspectos de la identidad del código. Para obtener más información, consulte Code Access Security.
Requisitos de seguridad del llamador
Las bibliotecas System.DirectoryServices.dll y System.DirectoryServices.Protocols.dll contienen las implementaciones de los espacios de nombres System.DirectoryServices, System.DirectoryServices.ActiveDirectory y System.DirectoryServices.Protocols. Son bibliotecas seguras que exigen que sus llamadores tengan un permiso DirectoryServicesPermission sin restricciones para tener acceso a las clases, los métodos y las propiedades que las bibliotecas exponen.
Las aplicaciones en las que no confía totalmente el sistema de seguridad de acceso a código en tiempo de ejecución no pueden llamar a bibliotecas administradas compartidas a menos que la biblioteca se marque con AllowPartiallyTrustedCallersAttribute. De forma predeterminada, todo código que se ejecuta en la zonas de Internet y de la intranet local es de confianza parcial. En .NET Framework 2.0, System.DirectoryServices.dll y System.DirectoryServices.Protocols.dll han aplicado AllowPartiallyTrustedCallersAttribute para permitir que el código se ejecute desde un contexto con confianza parcial o que se llame a éste mediante un código con confianza parcial. Por tanto, el llamador no tiene que ser un ensamblado con confianza total para tener acceso a System.DirectoryServices.dll y System.DirectoryServices.Protocols.dll, siempre que se conceda el permiso DirectoryServicesPermission sin restricciones al llamador.
Solicitar permisos
Una petición de vínculo hace que se produzca una comprobación de seguridad durante la compilación Just-In-Time, no en tiempo de ejecución, y comprueba sólo el llamador inmediato del código. No se realiza un recorrido de la pila completo con la petición de vínculo, como sucede con una petición normal. Las peticiones de vínculo son, como media, más rápidas que las peticiones normales, pero el código que utiliza la petición de vínculo es susceptible a ataques. El llamador de cualquier método o clase que se marque como petición de vínculo tiene que realizar las comprobaciones de seguridad que los diseñadores de la aplicación consideren oportunas. Para obtener una comparación más detallada de Demands y Link Demands, vea Demand vs. LinkDemand.
Todos los puntos de entrada de los espacios de nombres System.DirectoryServices, System.DirectoryServices.ActiveDirectory y System.DirectoryServices.Protocols realizan una petición con el permiso DirectoryServicesPermission sin restricciones (por ejemplo, constructores de DirectoryEntry, DirectorySearcher, DirectoryContext, LdapConnection y DsmlSoapHttpConnection). Realizan una petición de vínculo con otros permisos obligatorios. Para obtener información detallada sobre los tipos de peticiones que se realizan para las clases y los métodos de los tres espacios de nombres, vea las secciones de referencia de los espacios de nombres System.DirectoryServices, System.DirectoryServices.ActiveDirectory y System.DirectoryServices.Protocols.
Conceder el permiso DirectoryServicesPermission sin restricciones
De manera predeterminada, a un ensamblado con confianza total se le concede el permiso DirectoryServicesPermission sin restricciones. Este permiso también se puede conceder explícitamente a otros ensamblados, con herramientas como la Code Access Security Policy Tool (Caspol.exe), Caspol.exe.
Consulte también
Referencia
System.DirectoryServices
System.DirectoryServices.ActiveDirectory
System.DirectoryServices.Protocols
DirectoryServicesPermission
Conceptos
Introducción a System.DirectoryServices
Otros recursos
Code Access Security
Secure Coding Guidelines
Security Demands
Send comments about this topic to Microsoft.
Copyright © 2007 Microsoft Corporation. Reservados todos los derechos.