Использование библиотек C++ dll в приемнике событий
-
10-12-2019 - |
Вопрос
Я пытаюсь использовать устаревшую библиотеку dll C++, которая имеет около 5 зависимостей C/C++ в SharePoint.Я создал оболочку для библиотеки dll, и она отлично работает в тестовой настольной программе.Я добавил оболочку и все библиотеки C++ в сборку приемника событий, и они развертываются в целевом веб-приложении.Когда я запускаю приемник, я получаю
Исключение SecurityException было необработано системой пользовательского кода.Безопасность.Разрешение.Разрешение на безопасность
когда он попадает в метод C++.
Затем я попробовал использовать SPSecurity.RunWithElevatedPrivileges()
в обертке, но я получаю
Исключение SecurityException не было обработано пользовательским кодом Microsoft.SharePoint.Безопасность.SharePointPermission`.
Как я могу заставить работать библиотеку C++?
Решение
Это не проблема безопасности SP, это проблема безопасности файловой системы.Убедитесь, что у пользователя, выполняющего этот код, есть разрешения на чтение файловой системы.
Убедитесь, что ваша библиотека C++ имеет достаточные права доступа к файлам, чтобы SharePoint могла получить к ней доступ.Вы можете сопоставить разрешения с вашей средой разработки.
Кроме того, все, о чем я могу думать, - это уровни доверия к вашему веб-приложению, проверьте это ссылка это объясняет, как настраиваются уровни доверия в разных средах, поскольку веб-приложение вашей машины разработки может иметь полный уровень доверия.