Lanzar un ejecutable C ++ desde una aplicación C # y mantener el contexto de seguridad basado en roles

StackOverflow https://stackoverflow.com/questions/462160

  •  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

¿Fue útil?

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.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top