当使用DCOM与IIS和.aspx页面显示数据库中的数据时,是否可以解决DCOM交互式用户权限错误?

时间:2018-03-10 12:15:31

标签: asp.net iis permissions interactive dcom

对此有许多类似的问题,但没有一个能够解决这个具体问题。

我确定还有很多与此类似的网页,但我会在此停止。

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

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

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

特定于应用程序的权限设置不授予具有CLSID {...在注册表中找到的长十六进制数的COM服务器应用程序的本地启动权限}}

即: HKEY_LOCAL_MACHINE \ SOFTWARE \ Classes下\ {的AppID 8D8B8E30-C451-421B-8553-D2976AFA648C} 还有两个键,但是我没有在这台PC上输入它们,而是我要打字;一个是用于处理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 ...一个和726 ...一个,您不能这样做编辑。的权限。

这让我感到困惑的是,它显然是一个完全神奇的谜团,这在计算机系统中是不可接受的! :d 当前的解决方案是不费心烦,只需格式化机器,重做窗口,通过所有应用程序安装,IIS和DCOM步骤,以及.aspx配置再次从头开始,并希望最好 - 即:你做事的神奇的特殊命令只是让它发挥作用,因为它确实有"。我认为这有点荒谬,而且耗时,更重要的是,它让我感到非常困惑,因为我们并不清楚实际问题是什么以及解决方案可能是什么。

必须有一些特定的事情发生或不发生导致DCOM不与.aspx网页交谈;肯定会有事情可以在事件发生后进行调整,而无需切换整个系统并花费多年时间重做所有事情。好像有什么东西被拔掉了#34;或者与.aspx页面提取的内容有什么不同的身份/名称/编号,可能是代码中的内容? IIS选择中的一些东西?需要重置的东西?不确定......

我没有要求获得银弹,但是如果有人愿意帮助解决这个问题,那将是值得赞赏的,它只是令人讨厌和令人沮丧,我想得到在它的底部,并希望创建一个其他人可能从中受益的权威线程。

2 个答案:

答案 0 :(得分:1)

这似乎是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 代表事件查看器错误中显示的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)包含“沉浸式外壳”数据,其中包含(默认)作为名称。现在寻找“Immersive Shell”。

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

  16. 单击“安全”选项卡,然后单击“添加用户”。添加SYSTEM然后申请。

  17. 勾选激活本地框。

    重新启动。

    希望有所帮助。

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

答案 1 :(得分:0)

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

保持祝福。.