Пользуемся некоторыми модулями, которые скачаны с вашего сайта, и у некоторых учетных записей стоит запрет на использование внешних модулей. При попытке открыть внешний модуль у этих учетных записей, в ваших модулях выходит информационное окно, в котором говорится об отсутствии прав на пользование внешними модулями.
Вопрос: как сделать такую же проверку в своем собственном внешнем модуле? У нас есть свои разработанные модули, но они почему-то все-равно открываются у тех учетных записей, у которых пользование модулями заблокировано. То есть недостаточно запретить использование внешних модулей, еще нужно какую-то проверку в коде сделать?
Хотелось бы в точности знать о каком нашем модуле идет речь и какую именно ошибку вы имеете ввиду. Приведите пример внешнего модуля, приложите скриншот ошибки.
Задача такая: запретить у учетной записи запуск внешних модулей.
Я так понимаю права доступа у учетки можно проверить с помощью Host.Server.IsOperationAllowed, но коды операции, кроме как таблицы Operation в БД больше нигде не узнать?
Все верно, права на операцию можно проверить через Host.Server.IsOperationAllowed, коды операций хранятся в перечислении Interop.Operation. Конкретно в вашем случае нужно проверять коды Interop.Operation.GET_PLUGIN_SETTINGS и Interop.Operation.SET_PLUGIN_SETTINGS. Примерный код:
LersServer server = Plugin.Host.Server;
if (!server.IsOperationAllowed((int)Interop.Operation.GET_PLUGIN_SETTINGS));
message += "Получение параметров надстройки.
";
if (!server.IsOperationAllowed((int)Interop.Operation.SET_PLUGIN_SETTINGS));
message += "Сохранение параметров надстройки.
";