вызов управляемого кода от неуправляемого кода

Для SPA Microsoft рекомендовала использовать неявный грандиозный поток для аутентификации и авторизации. Вы можете пойти на неявный поток грантов. Чтобы получить токен с использованием неявного потока, выполните следующие действия:

Шаг 1:

Задайте URL-адрес своего ответа на портале Azure. У меня есть логин через почтальона, поэтому я ввел URL обратного вызова почтальона. См. Снимок экрана ниже:

enter image description here

Шаг 2:

Тест на почтальона для этого введите необходимую информацию, как показано ниже , Убедитесь, что вы выбрали тип аутентификации OAuth 2.0:

enter image description here

Шаг 3:

В ответ вы получите ваш токен, как показано ниже:

enter image description here

Заключительный шаг:

Вы можете получить доступ к своему ресурсу с помощью этого токена. см. приведенный ниже пример:

enter image description here

Для получения дополнительной информации вы можете найти здесь руководство Microsoft https://docs.microsoft. com / en-us / azure / active-directory / develop / v2-oauth2-auth-code-flow

также пример GitHub https://github.com/oauthjs/angular- oauth2

Правильный протокол аутентификации для вашего приложения вы можете посмотреть в этом документе https://docs.microsoft.com/en-us/azure/active-directory/develop/ v2-oauth2-неявный грант поток

17
задан Rasmus Faber 22 October 2008 в 15:44
поделиться

4 ответа

Принятие Вас говорит о реальном неуправляемом коде - не только собственном C++, работающем в сборке смешанного режима, скомпилированной со сбросом / - самый легкий путь состоит в том, чтобы создать обертку к Вашему коду.NET в C++ / CLI. Можно затем экспортировать C++ / методы CLI, просто отметив их с __ declspec (dllexport).

, С другой стороны, если Вы управляете вызовом неуправляемого кода, можно упорядочить указатели функции к методам.NET и передать их неуправляемому коду.

6
ответ дан 30 November 2019 в 11:44
поделиться

Вашим кодом вызова является C++ с включенным сбросом/.Правильно?

, Если да, то можно просто использовать оператор использования для использования.NET dll в коде. Что-то как:

#using <Mydll.dll>

и затем можно просто сделать объекты управляемых классов как:

MyNameSpace::MyClass^ obj = new MyNameSpace::MyClass();

, Если Вы хотите сделать этот obj элементом данных Вашего класса, использование gcroot является способом пойти.

1
ответ дан 30 November 2019 в 11:44
поделиться

Я полагаю, что Вы ищете Обратный PInvoke. Если Вы погуглите для реверса pinvoke, то Вы получите много полезных записей. Я думаю, что следующее имеет хороший быстрый и грязный пример.

PInvoke-обратный PInvoke и __ stdcall - __ cdecl

4
ответ дан 30 November 2019 в 11:44
поделиться

Смотрите на класс GCHandle и gcroot ключевое слово, которое обеспечивает безопасную с точки зрения типов, шаблонную обертку вокруг GCHandle.

можно использовать их для содержания ссылки на объект CLR (или помещенное в коробку значение) в собственном коде.

MSDN имеет основное учебное руководство здесь .

7
ответ дан 30 November 2019 в 11:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: