2

我知道 DCOM 话题已经讨论过几次了。但是,我对(目前)可用的解决方案并不满意。这就是为什么我在这里开始一个新问题。

现在每个人都知道访问控制列表 (ACL) 存储了有关哪些用户可以对应用程序执行什么操作的信息,这些信息存储在注册表中 HKCL\AppID{GUID}[AccessPermission|LaunchPermission] 下。这些键包含二进制形式的“序列化 ACL”数据 (byte[])。

我根本不相信不可能将这些值与 System.Security.AccessControl 命名空间一起使用。必须有一种“反序列化”它们并在其中添加或删除条目的方法。

另外,我当然是在谈论 .NET 解决方案。可能需要也可能不需要 p/invoking 一些魔术 api 函数或实现一些奇怪的结构,但我确信可以实现一个很好且直观的 .NET 库,使我们能够从托管代码处理 DCOM 安全设置。

有谁知道该怎么做?

4

1 回答 1

0

虽然我无法找到完全托管的解决方案,但您会在“Server 2008 Windows SDK”中找到示例程序 DCOMPerm。这可以用作创建完全托管版本的 DCOM 安全设置的模型。

就我而言,我阅读了 SDK 的许可证,其中指出可以分发从样本创建的目标代码。所以我最终执行了 DCOMPerm.exe 以从安装中设置访问权限。

于 2009-06-15T15:09:53.107 回答