2009-01-20 7 views
0

Tout d'abord, je sais que c'est probablement un défi de taille, mais ... :)Lancement d'un C++ exécutable à partir d'une application C# et en gardant le contexte de la sécurité basée sur les rôles

Nous avons un logiciel qui interagit avec le matériel notre société produit. Ce logiciel charge un assemblage .NET et agit comme interface avec le matériel.

Actuellement, nous avons une application 'Launcher' écrite en C# qui fournit une sécurité basée sur les rôles. Ce 'Lanceur' lance l'exécutable C++ avec des arguments de ligne de commande (l'assembly .NET à utiliser) via un processus. L'exécutable C++ charge ensuite l'assembly .NET fourni et l'utilise pour effectuer ses actions. Le problème est que parce que je lance l'application C++ dans un processus, je perds le contexte de sécurité basé sur les rôles fourni par le 'Launcher'.

Y at-il un moyen de lancer l'application C++ et de conserver le contexte de sécurité basé sur les rôles?

Merci d'avoir pris le temps de lire ceci. Si vous avez des questions s'il vous plaît faites le moi savoir.

Merci,

Adam

Répondre

1

Vous devez modifier l'application C++ pour vérifier les rôles aussi bien.

Si vous pouvez le faire, vous pouvez envisager de fractionner une partie de votre application C# en plusieurs assemblages. Plus précisément, prenez les rôles dans l'application C# et compilez-la en tant que dll avec les extensions COM/ActiveX.

Ensuite, vous pouvez appeler la DLL C# (via COM) pour vérifier les autorisations.

+0

Malheureusement, c'est un autre département de notre société qui l'a développé et il est maintenant considéré comme un produit existant. Je suppose que je devrai persister plus loin avec eux. Merci pour l'idée! :) – Adam