Можно ли устранить ошибку разрешения DCOM Interactive User при использовании DCOM со страницами IIS и .aspx, отображающими данные из базы данных?

Есть ряд вопросов, похожих по звучанию на этот вопрос, но ни один из них полностью не отвечает на этот конкретный вопрос.

Я уверен, что есть много других страниц, похожих на эту, но я остановлюсь на этом.

Сценарий таков: Windows 10 ... ... хостинг приложения (или кластера приложений), который принимает данные почти в реальном времени с реальных датчиков, анализирует числа, записывает их в базу данных и представляет их в браузере. aspx через IIS и DCOM (это архаичное загадочное приложение / набор приложений, для которого имеется ограниченный исходный код или документация или нет).

Иногда, после проработки всех этапов установки и настройки, вам предоставляется страница localhost / something.aspx, и хотя вы можете видеть переменные, наведя курсор на поля, значения не заполняются. При просмотре в средстве просмотра событий Windows вы можете увидеть такие ошибки:

Событие с кодом 10016 - настройки разрешений для конкретного приложения не предоставляют разрешение на локальную активацию для приложения COM-сервера

Настройки разрешений для конкретного приложения не предоставляют разрешение на локальный запуск для приложения COM-сервера с CLSID {... длинное шестнадцатеричное число, найденное в реестре ...}

то есть: HKEY_LOCAL_MACHINE \ SOFTWARE \ Classes \ AppID {8D8B8E30-C451-421B-8553-D2976AFA648C} Есть еще два ключа, но у меня их нет на этом компьютере, на котором я печатаю; один является установленным компонентом для обработки DCOM, а другой также связан с интерактивным пользователем.

Установленный, как правило, тот, который сообщает об отсутствии разрешений, как правило, для пользователя «NT AUTHORITY \ NETWORK SERVICE SID (S-1-5-20)» (сформированного в группу учетных записей администратора и пользователя) [https://www.experts-exchange.com/questions/24205909/NT-AUTHORITY-NETWORK-SERVICE-SID-S-1-5-20-on-Windows-Server-2003.html ... сейчас нет доступа к этой странице]; затем, когда вы входите в систему безопасности и добавляете для нее определенные разрешения, вы остаетесь с отчетом о вышеуказанных ключах интерактивного пользователя, 8d8 ... one и 726 ... one, для которых вы не можете редактировать разрешения.

Что меня беспокоит в этом, так это то, что это, по-видимому, полная магическая тайна, что недопустимо в компьютерной системе! : D Текущее решение состоит в том, чтобы просто не возиться, а просто отформатировать машину, повторить окна, выполнить все шаги по установке приложений, IIS и DCOM, а также снова настроить .aspx с нуля и надеяться на лучшее, то есть: что волшебный особый порядок, в котором вы что-то делаете, просто заставляет это работать, «потому что он работает». Я думаю, что это немного нелепо и отнимает много времени, точнее говоря, меня сильно беспокоит то, что на самом деле нет четкого представления о реальной проблеме и возможном решении.

Должно произойти что-то конкретное или не происходящее, из-за чего DCOM не взаимодействует с веб-страницей .aspx; конечно, что-то, что можно настроить после события, не затрагивая всю систему и не тратя целую вечность на переделку всего этого. Как будто что-то «отключено» или имеет другой идентификатор / имя / номер, чем то, что просматривается или фильтруется по тому, что принимает страница .aspx, может быть, что-то в коде? что-то в выделениях IIS? что-то, что нужно сбросить? Точно сказать не могу...

Я не прошу серебряной пули, но если кто-то готов помочь с этим справиться, это будет полезно, это просто раздражает и расстраивает, и я хотел бы разобраться в этом и, надеюсь, создать окончательный нить, которая может быть полезна другим.


person Reginald Lloyd    schedule 10.03.2018    source источник
comment
Некоторые, возможно, полезные видео: youtube.com/watch?v=ixVZFNmeBR4   -  person Reginald Lloyd    schedule 10.03.2018
comment
youtube.com/watch?v=QQi6ZeBiYZs   -  person Reginald Lloyd    schedule 10.03.2018
comment
Для этого может работать олицетворение asp.net? stackoverflow.com/questions/28588161/   -  person abksharma    schedule 22.07.2019


Ответы (2)


Прежде чем вдаваться в эти долгие процедуры и редактировать реестр. Я бы посмотрел на TCP / IPv6 в настройках подключения по локальной сети. Если он включен, отключите его и очистите DNS или перезапустите сервер. Надеюсь, это поможет будущим ищущим.

Будьте благословенны всем ..

person Sandeep Suri    schedule 04.12.2018

Кажется, это та же проблема, что и 4 года назад.

https://answers.microsoft.com/en-us/windows/forum/windows8_1-winapps/weather-application/e4630db3-50c2-4cc5-9813-f089494a1145

Привет. Не уверен, что это решит вашу проблему, но я смог исправить свою.

  1. Откройте Regedit.

  2. Перейдите в HKEY_Classes_Root \ CLSID * CLSID *. Примечание. CLSID - это идентификатор, который отображается в ошибке средства просмотра событий. В вашем случае это {C2F03A33-21F5-47FA-B4BB-156362A2F239}.

  3. Щелкните его правой кнопкой мыши и выберите разрешение.

  4. Нажмите «Вперед» и измените владельца на администратора. Также щелкните поле, которое появится под линией владельца.

  5. Применить полный контроль.

  6. Закройте вкладку и перейдите в HKEY_LocalMachine \ Software \ Classes \ AppID * APPID *. Примечание. AppID - это идентификатор, который отображается в средстве просмотра событий. В вашем случае это {316CDED5-E4AE-4B15-9113-7055D84DCC97}.

  7. Щелкните его правой кнопкой мыши и выберите разрешение.

  8. Нажмите «Продвинуться» и измените владельца на администраторов.

  9. Щелкните поле, которое появится под линией владельца.

  10. Нажмите Применить и предоставьте полный контроль администраторам.

  11. Закройте все вкладки и перейдите в Администрирование.

  12. Открытые сервисы компонентов.

  13. Щелкните Компьютер, щелкните Мой компьютер, затем щелкните DCOM.

  14. Найдите соответствующую службу в средстве просмотра ошибок. Примечание. Для этого шага ищите тот, который появился на правой панели RegEdit. Например, реестр AppID (316CDED5-E4AE-4B15-9113-7055D84DCC97) содержит данные «Immersive Shell» с именем (по умолчанию) в качестве имени. Теперь поищите «Immersive Shell».

  15. Щелкните его правой кнопкой мыши, затем щелкните свойства.

  16. Перейдите на вкладку «Безопасность», затем нажмите «Добавить пользователя». Добавьте СИСТЕМУ и примените.

  17. Установите флажок Активировать локально.

    Начать сначала.

    Надеюсь, это поможет.

    РЕДАКТИРОВАТЬ: я отредактировал шаг номер 14, чтобы он был более ясным. Я рад, что смог помочь.

person Reginald Lloyd    schedule 12.03.2018
comment
Проблема, казалось, заключалась просто в том, что на вкладке безопасности COM свойств моего компьютера в конфигурации DCOM в службах компонентов (достигается с помощью Shift + щелчок CMD.exe, запускается от имени администратора, затем mmc comexp.msc / 32) мне нужно было предоставить разрешения для моя группа пользователей как в полях редактирования пределов, так и в полях разрешений по умолчанию. Были некоторые файлы .reg для двойного щелчка и некоторые файлы драйверов для запуска от имени администратора, но похоже, что не все ошибки dcom в средстве просмотра событий Windows имеют значение. Все еще есть ошибки авторизации / системного sid (s-1-18), связанные с интерактивным пользовательским clsid и appid, но это не проблема. - person Reginald Lloyd; 15.03.2018