Lanzar un ejecutable C ++ desde una aplicación C # y mantener el contexto de seguridad basado en roles
-
19-08-2019 - |
Pregunta
En primer lugar, sé que esto es probablemente una tarea difícil pero ... :)
Tenemos un software que interactúa con el hardware que produce nuestra empresa. Este software carga un ensamblado .NET y actúa como nuestra interfaz para el hardware.
Actualmente tenemos una aplicación 'Launcher' escrita en C # que proporciona seguridad basada en roles. Este 'Launcher' lanza el ejecutable de C ++ con argumentos de línea de comando (el ensamblado .NET que se usará) a través de un proceso. El ejecutable de C ++ carga el ensamblado .NET suministrado y lo usa para realizar sus acciones.
El problema se debe a que al iniciar la aplicación C ++ en un proceso, pierdo el contexto de seguridad basado en roles proporcionado por el 'Iniciador'.
¿Hay alguna forma de iniciar la aplicación C ++ y mantener el contexto de seguridad basado en roles?
Gracias por tomarse el tiempo de leer esto. Si tiene alguna pregunta, hágamelo saber.
Gracias,
Adam
Solución
Tendría que modificar la aplicación C ++ para verificar los roles también.
Si puede hacer eso, podría considerar dividir parte de su aplicación C # en múltiples ensamblajes. Específicamente, tome los roles parte de la aplicación C # y compílelo como un dll con extensiones COM / ActiveX.
Luego puede llamar al dll de C # (a través de COM) para verificar los permisos.