O lançamento de um C ++ executável de um aplicativo C # e mantendo contexto de segurança baseado em funções

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

  •  19-08-2019
  •  | 
  •  

Pergunta

Em primeiro lugar eu sei que isso é provavelmente uma ordem de altura, mas ...:)

Temos algum software que interage com o hardware nossa empresa produz. Este software carrega um .NET assembly e isso funciona como interface para o hardware.

Atualmente, temos uma aplicação 'lançador' escrito em C # que fornece segurança baseada papel. Este '' Iniciador lançamentos a C ++ executável com argumentos de linha de comando (.NET montagem para uso) por meio de um processo. O C ++ cargas, em seguida, o executáveis ??NET fornecido montagem e usa-o para desempenhar as suas acções.

O problema é porque eu iniciar o aplicativo C ++ em um processo de eu perder o contexto de segurança baseada papel fornecido pela 'lançador'.

Existe alguma maneira eu posso lançar o C ++ aplicação e manter o contexto de segurança função com base?

Obrigado por tomar o tempo para ler este. Se você tiver alguma dúvida, por favor me avise.

Obrigado,

Adam

Foi útil?

Solução

Você teria que modificar o aplicativo C ++ para verificar os papéis também.

Se você pode fazer isso, você pode considerar romper parte do seu aplicativo C # em várias montagens. Especificamente, pegue a parte papéis da aplicação C #, e compilar isso como um DLL com COM / ActiveX extensões.

Em seguida, você pode chamar o C # dll (via COM) para verificar as permissões.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top