Compartir a través de


Seguridad de componentes mediante programación

Al usar la seguridad basada en roles en la aplicación COM+ que contiene el componente, tiene acceso a la funcionalidad de seguridad mediante programación desde dentro del componente. Puede comprobar la pertenencia a roles para determinar si se ejecutan determinadas secciones de código, puede acceder a la información de seguridad mediante el objeto de contexto de llamada de seguridad y puede determinar si la seguridad está habilitada para la llamada actual. Puede realizar todas estas tareas mediante una referencia a un objeto SecurityCallContext (para aplicaciones de Microsoft Visual Basic) o un puntero a la interfaz ISecurityCallContext (para aplicaciones de C y Microsoft Visual C++).

Para obtener más información sobre la seguridad basada en roles mediante programación, consulte los temas siguientes de esta sección:

Características de seguridad COM y suplantación

Si el componente se usa en una aplicación COM+ que no usa la seguridad basada en roles, la comprobación de roles mediante programación y la información del contexto de llamada de seguridad no están disponibles. Sin embargo, puede usar la funcionalidad de seguridad mediante programación proporcionada por COM. Para obtener más información, vea Seguridad en COM.

Aunque puede usar la mayor parte de la funcionalidad de seguridad proporcionada por COM, no puede llamar a CoInitializeSecurity desde un componente que forma parte de una aplicación COM+ porque coInitializeSecurity lo llama el suplente en el que se ejecuta la aplicación COM+. Sin embargo, puede llamar a otras funciones de seguridad, como CoQueryClientBlanket, que recupera información sobre el cliente.

En concreto, cuando necesite usar la identidad del cliente para acceder a algún recurso (por ejemplo, acceder a un archivo protegido por un descriptor de seguridad o propagar la identidad del cliente a una base de datos), puede realizar la suplantación mediante programación. Para obtener más información sobre cuándo y cómo hacerlo, consulte Suplantación de cliente y delegación.

Probar la funcionalidad de seguridad

Si usa la seguridad mediante programación de COM+ en el componente, debe integrar el componente en una aplicación COM+ cuando esté listo para probar la funcionalidad de seguridad del componente. Si un componente que usa la seguridad mediante programación de COM+ se ejecuta sin integrarse en una aplicación COM+, se producirán excepciones. Por lo tanto, si desea asegurarse de que este componente también sea capaz de integrarse correctamente en una aplicación que no forma parte del entorno COM+, debe asegurarse de que estas excepciones se controlan correctamente.

Documentación de los requisitos de seguridad

Si va a escribir un componente independiente para aplicaciones COM+ que usan seguridad basada en roles, debe documentar el componente para que la seguridad se pueda configurar correctamente cuando el componente esté integrado en una aplicación COM+. Por ejemplo, debe identificar los roles que se deben agregar y explicar a qué métodos e interfaces se debe asignar cada rol. Además, si se llama a un método como IsCallerInRole("Teller"), debe describir la funcionalidad a la que solo los tellers tienen acceso. También debe especificar si se requiere un rol para ayudar a proteger el acceso a todo el componente.

Autenticación de cliente

Suplantación y delegación de cliente

Seguridad de aplicaciones de biblioteca

Seguridad de aplicaciones de varios niveles

Administración de seguridad basada en roles

Uso de la directiva de restricción de software en COM+