Запуск исполняемого файла C ++ из приложения C # и сохранение контекста безопасности на основе ролей
-
19-08-2019 - |
Вопрос
Во-первых, я знаю, что это, вероятно, высокий заказ, но ...:)
У нас есть программное обеспечение, которое взаимодействует с оборудованием, производимым нашей компанией. Это программное обеспечение загружает сборку .NET, и это действует как наш интерфейс к оборудованию. Р>
В настоящее время у нас есть приложение Launcher, написанное на C #, которое обеспечивает безопасность на основе ролей. Этот 'Launcher' запускает исполняемый файл C ++ с аргументами командной строки (сборка .NET для использования) через процесс. Затем исполняемый файл C ++ загружает предоставленную сборку .NET и использует ее для выполнения своих действий.
Проблема заключается в том, что я запускаю приложение C ++ в процессе, и я теряю контекст безопасности на основе ролей, предоставляемый модулем запуска.
Можно ли как-нибудь запустить приложение C ++ и сохранить контекст безопасности на основе ролей?
Спасибо, что нашли время прочитать это. Если у вас есть какие-либо вопросы, пожалуйста, дайте мне знать.
Спасибо,
Адам
Решение
Вам также придется изменить приложение C ++, чтобы проверить роли.
Если вы можете это сделать, вы можете разбить часть своего приложения на C # на несколько сборок. В частности, возьмите роли, входящие в приложение C #, и скомпилируйте их как dll с расширениями COM / ActiveX.
Затем вы можете вызвать C # dll (через COM), чтобы проверить разрешения.