Partager via


Sécurité des composants programmatiques

Lorsque vous utilisez la sécurité basée sur des rôles dans l’application COM+ qui contient votre composant, vous avez accès aux fonctionnalités de sécurité par programmation à partir de votre composant. Vous pouvez vérifier l’appartenance au rôle pour déterminer si des sections particulières du code sont exécutées, vous pouvez accéder aux informations de sécurité à l’aide de l’objet de contexte d’appel de sécurité et déterminer si la sécurité est activée pour l’appel actuel. Vous pouvez effectuer toutes ces tâches en utilisant une référence à un objet SecurityCallContext (pour les applications Microsoft Visual Basic) ou un pointeur vers l’interface ISecurityCallContext (pour les applications C et Microsoft Visual C++).

Pour plus d’informations sur la sécurité basée sur les rôles programmatiques, consultez les rubriques suivantes dans cette section :

Emprunt d’identité et fonctionnalités de sécurité COM

Si votre composant est utilisé dans une application COM+ qui n’utilise pas de sécurité basée sur les rôles, les informations de contexte d’appel de sécurité et de vérification des rôles par programmation ne sont pas disponibles. Toutefois, vous pouvez utiliser la fonctionnalité de sécurité par programmation fournie par COM. Pour plus d’informations, consultez Sécurité dans COM.

Bien que vous puissiez utiliser la plupart des fonctionnalités de sécurité fournies par COM, vous ne pouvez pas appeler CoInitializeSecurity à partir d’un composant qui fait partie d’une application COM+, car CoInitializeSecurity est appelé par le substitut dans lequel l’application COM+ s’exécute. Toutefois, vous pouvez appeler d’autres fonctions de sécurité, telles que CoQueryClientBlanket, qui récupère des informations sur le client.

En particulier, lorsque vous devez utiliser l’identité du client pour accéder à une ressource( par exemple, accéder à un fichier protégé par un descripteur de sécurité ou propager l’identité du client vers une base de données), vous pouvez effectuer l’emprunt d’identité par programme. Pour plus d’informations sur le moment et la procédure à suivre, consultez l’emprunt d’identité et la délégation du client.

Tester la fonctionnalité de sécurité

Si vous utilisez la sécurité par programmation COM+ dans votre composant, vous devez intégrer le composant dans une application COM+ lorsque vous êtes prêt à tester la fonctionnalité de sécurité du composant. Si un composant utilisant la sécurité par programmation COM+ est exécuté sans être intégré à une application COM+, les exceptions sont levées. Par conséquent, si vous souhaitez vous assurer qu’un tel composant est également capable d’être correctement intégré à une application qui ne fait pas partie de l’environnement COM+, vous devez vous assurer que ces exceptions sont gérées de manière appropriée.

Documentation des exigences de sécurité

Si vous écrivez un composant autonome pour les applications COM+ qui utilisent la sécurité basée sur des rôles, vous devez documenter le composant afin que la sécurité puisse être configurée de manière appropriée lorsque le composant est intégré à une application COM+. Par exemple, vous devez identifier les rôles à ajouter et expliquer les méthodes et interfaces auxquelles chaque rôle doit être affecté. En outre, si une méthode telle que IsCallerInRole(« Teller ») est appelée, vous devez décrire les fonctionnalités auxquelles seuls les Tellers ont accès. Vous devez également spécifier si un rôle est requis pour protéger l’accès à l’ensemble du composant.

d’authentification du client

emprunt d’identité et de délégation du client

bibliothèque Application Security

de sécurité des applications multiniveau

Role-Based d’administration de la sécurité

à l’aide de la stratégie de restriction logicielle dans com+