【问题标题】:Is it possible to resolve a DCOM Interactive User permission error, when using DCOM with IIS and .aspx pages displaying data from a database?在将 DCOM 与 IIS 和显示数据库数据的 .aspx 页面一起使用时,是否可以解决 DCOM 交互用户权限错误?
【发布时间】:2018-08-18 22:08:14
【问题描述】:

有许多听起来相似的问题,但没有一个能完全解决这个具体问题。

我敢肯定还有很多其他页面与此类似,但我会在这里停止。

场景是这样的: 视窗 10... ...托管从真实传感器获取近实时数据的应用程序(或应用程序集群)解析数字,将它们写入数据库,并通过 IIS 和 DCOM 将它们呈现到浏览器 .aspx 页面上 (这是一个古老的神秘应用程序/一组应用程序,其源代码或文档有限或没有)。

有时,在完成所有安装和配置步骤后,您会看到一个 localhost/something.aspx 页面,虽然您可以通过将鼠标悬停在字段上来查看变量,但不会填充值。 查看 Windows 事件查看器,您可能会看到如下错误:

事件 ID 10016 - 特定于应用程序的权限设置未授予 COM 服务器应用程序的本地激活权限

应用程序特定的权限设置不授予具有 CLSID{...在注册表中找到的长十六进制数字 ...}

的 COM 服务器应用程序的本地启动权限

即: HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AppID{8D8B8E30-C451-421B-8553-D2976AFA648C} 还有两个键,但我正在打字的这台电脑上没有它们;一个是用于处理 DCOM 的已安装组件,另一个是与 Interactive User 相关的。

已安装的,通常是报告没有权限的,通常用于“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... 一个和一个 726... 一个,您无法为其编辑权限。

让我感到困扰的是,这显然是一个完整的魔法谜团,这在计算机系统中是不可接受的! :D 当前的解决方案是不费吹灰之力,只需格式化机器,重做窗口,完成所有应用程序安装、IIS 和 DCOM 步骤,并从头开始重新配置 .aspx,并希望最好 - 即:你做事的神奇特殊顺序只会让它发挥作用,“因为它确实”。我认为这有点荒谬,而且费时,更重要的是,它让我非常烦恼,对于实际问题是什么以及解决方案可能是什么并没有真正的清晰概念。

一定有特定的事情发生或没有发生导致 DCOM 无法与 .aspx 网页对话;肯定可以在事件发生后进行调整,而无需破坏整个系统并花费大量时间重做。就好像某些东西被“拔掉”或与正在查看或过滤的内容不同的身份/名称/号码。aspx页面摄取,也许是代码中的某些东西? IIS 选择中有什么?需要重置的东西?不确定...

我不是在寻求灵丹妙药,但如果有人愿意帮助解决这个问题,我们将不胜感激,这只是令人讨厌和沮丧,我想深入了解它,并希望创建一个其他人可能从中受益的明确主题。

【问题讨论】:

标签: asp.net iis permissions interactive dcom


【解决方案1】:

在进入这些冗长的程序和编辑注册表之前。我会在本地连接设置中查看 TCP/IPv6。如果已启用,则禁用它并刷新 dns 或重新启动服务器。希望对未来的求职者有所帮助。

祝大家平安..

【讨论】:

    【解决方案2】:

    这似乎与 4 年前完全相同。

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

    嗨 不确定这是否能解决您的问题,但我能够解决我的问题。

    1. 打开注册表。

    2. 转到 HKEY_Classes_Root\CLSID*CLSID*。 注意:CLSID 代表出现在事件查看器错误中的 ID。在您的情况下,它是 {C2F03A33-21F5-47FA-B4BB-156362A2F239}。

    3. 右键单击它然后选择权限。

    4. 单击“高级”并将所有者更改为管理员。同时单击将出现在所有者行下方的框。

    5. 应用完全控制。

    6. 关闭选项卡,然后转到 HKEY_LocalMachine\Software\Classes\AppID*APPID*。 注意:AppID 是显示在您的事件查看器中的 ID。在您的情况下,它是 {316CDED5-E4AE-4B15-9113-7055D84DCC97}。

    7. 右键单击它然后选择权限。

    8. 单击“高级”并将所有者更改为管理员。

    9. 单击将出现在所有者行下方的框。

    10. 单击应用并授予管理员完全控制权。

    11. 关闭所有选项卡并转到管理工具。

    12. 打开组件服务。

    13. 点击计算机,点击我的电脑,然后点击 DCOM。

    14. 查找出现在错误查看器上的相应服务。 注意:对于这一步,请查找出现在 RegEdit 右侧面板中的那个。例如,AppID 注册表 (316CDED5-E4AE-4B15-9113-7055D84DCC97) 包含名称为(默认)的“沉浸式外壳”数据。现在寻找“沉浸式外壳”。

    15. 右键单击它,然后单击属性。

    16. 单击安全选项卡,然后单击添加用户。添加 SYSTEM 然后应用。

    17. 勾选激活本地框。

      重启。

      希望对您有所帮助。

      编辑:为了更清楚,我编辑了第 14 步。我很高兴能够提供帮助。

    【讨论】:

    • 问题似乎只是在“组件”服务中 DCOM 配置中“我的电脑”属性的 COM 安全选项卡中(通过 shift+单击 CMD.exe 以管理员身份运行然后“mmc comexp.msc /32"),我需要在编辑限制和编辑默认权限框中为我的用户组授予权限。有一些 .reg 文件需要双击,一些驱动程序文件需要以管理员身份运行,但似乎并非所有 Windows 事件查看器中的 dcom 错误都很重要。交互用户clsid和appid还是有权限/系统sid(s-1-18)错误,不过没问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-24
    • 1970-01-01
    • 2013-01-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多