10

我们的应用程序广泛使用 COM 和 DCOM,因此我们需要确保正确设置 COM 安全权限。我知道我可以在组件服务 MMC 管理单元下访问这些权限,并且我可以在计算机的属性页下设置默认值/限制

我的电脑属性页面的屏幕截图

在 DCOM Config 节点下,我可以向下钻取并为各个应用程序设置安全权限

Logger 应用程序属性页面的屏幕截图

我也了解“默认值”(除非在每个应用程序基础上明确设置权限,否则 DCOM 应用程序将使用什么)和“限制”(即使每个应用程序设置超过这些设置也会强制执行哪些权限)之间的关系,但是我不了解(也找不到任何文档)我可以设置的不同设置之间的区别

  • “访问”、“启动”、“激活”和“配置”权限有什么区别?
  • 这些设置会影响 COM 应用程序,还是仅影响 DCOM 应用程序?
  • 如果使用远程 DCOM,我需要在服务器和客户端上设置权限,还是只在客户端上设置权限?
  • 是否有任何文件可以解释上述内容?
4

1 回答 1

10

安全选项卡上的设置是注册表中每个 AppID 的安全配置,您将在AppID Key中找到有关 MSDN 的更多信息:

AccessPermission 描述可以访问此类实例的主体的访问控制列表 (ACL)。此 ACL 仅由不调用 CoInitializeSecurity 的应用程序使用。

LaunchPermission 描述可以为此类启动新服务器的主体的访问控制列表 (ACL)。

当 COM 客户端尝试访问 COM 服务器时,COM 子系统会根据这些访问列表检查客户端凭据并决定是否允许访问服务器,如果服务器尚未启动,是否允许其启动。因此,这两个列表 - 用于常规访问和新服务器启动(如果有必要)。

请注意,这些是每个应用程序的设置。特定类应该在注册表上具有CLSID 到 APPID 的映射才能正确关联。

于 2012-10-19T13:12:31.697 回答