Avvio di un eseguibile C ++ da un'app C # e mantenimento del contesto di sicurezza basato sui ruoli
-
19-08-2019 - |
Domanda
Prima di tutto so che questo è probabilmente un ordine elevato ma ... :)
Abbiamo alcuni software che interagiscono con l'hardware prodotto dalla nostra azienda. Questo software carica un assembly .NET e funge da interfaccia per l'hardware.
Attualmente abbiamo un'applicazione 'Launcher' scritta in C # che fornisce sicurezza basata sui ruoli. Questo "Launcher" avvia l'eseguibile C ++ con argomenti da riga di comando (l'assembly .NET da utilizzare) tramite un processo. L'eseguibile C ++ carica quindi l'assembly .NET fornito e lo utilizza per eseguire le sue azioni.
Il problema è perché lancio l'applicazione C ++ in un processo perdo il contesto di sicurezza basato sul ruolo fornito da 'Launcher'.
Esiste un modo per avviare l'applicazione C ++ e mantenere il contesto di sicurezza basato sul ruolo?
Grazie per aver dedicato del tempo a leggere questo. Se hai domande, faccelo sapere.
Grazie
Adam
Soluzione
Dovresti modificare l'applicazione C ++ per controllare anche i ruoli.
Se puoi farlo, potresti considerare di suddividere parte dell'applicazione C # in più assiemi. In particolare, prendere i ruoli come parte dell'applicazione C # e compilarlo come dll con estensioni COM / ActiveX.
Quindi è possibile chiamare la DLL C # (tramite COM) per verificare le autorizzazioni.