65.9K
CodeProject 正在变化。 阅读更多。
Home

DCOM 访问被拒绝问题

starIconstarIconstarIcon
emptyStarIcon
starIcon
emptyStarIcon

3.42/5 (6投票s)

2001年10月8日

5分钟阅读

viewsIcon

189570

本文将引导您配置两台计算机以将 COM 组件作为分布式组件 (DCOM) 进行共享。

引言

团队合作时,最让人感到欣慰的是身边有可以随时提供帮助的人,并且您也随时准备在他们需要时提供帮助。我曾在一个项目中使用 COM 技术与团队合作,我们像大多数人一样遇到了 DCOM 问题,但我们成功地解决了它。我们决定作为团队记录配置顺畅的 DCOM 组件所需的步骤。感谢 Naim Tobassi 和 Rebat Hiary 提供这些步骤,现在我将这些步骤分享给所有 Code Project 的朋友们。

DCOM

分布式组件对象模型 (DCOM) 是一种协议,它使软件组件能够在网络上以可靠、安全且高效的方式直接通信。DCOM 以前称为“Network OLE”,专为跨多种网络传输而设计,包括 HTTP 等 Internet 协议。DCOM 基于开放软件基金会的 DCE-RPC 规范,并通过其对组件对象模型 (COM) 的使用,可以与 Java Applet 和 ActiveX 组件一起使用。

DCOM 配置

开始之前,我将定义以下术语

  • PC1:扮演客户端角色的计算机名称。
  • PC2:扮演服务器角色的计算机名称(在此访问组件)。
  • Rebat Hiary:将在 PC1 上运行 DCOM 在 PC2 上所需的应用程序的用户姓名。
  • Naim Tobassi:在访问 PC2 上的 DCOM 时登录的用户姓名。

如何配置服务器端

  • 注册您的组件
  • 打开 dcomcnfg 工具
  • 应用程序 选项卡中,选择您的应用程序,然后单击 属性… 按钮
  • 属性 -> 常规选项卡 -> 身份验证级别 组合框。选择 默认
  • 属性 -> 位置 选项卡。选择 在此计算机上运行应用程序
  • 属性 -> 安全 选项卡。选择 使用自定义访问权限 复选框,单击 编辑 按钮,然后单击 添加 按钮添加以下用户(允许访问)
    • Rebat Hiary
  • 属性 -> 安全 选项卡。选择 使用自定义启动权限 复选框,单击 编辑 按钮,然后单击 添加 按钮添加以下用户(允许启动)
    • Rebat Hiary
    • PC2/Administrators
    • 系统
    • 交互式
  • 属性 -> 安全 选项卡。选择 使用自定义配置权限 复选框,单击 编辑 按钮,然后单击 添加 按钮添加以下用户
    • Naim Tobassi
    • Rebat Hiary
    • Everyone
    • 系统
    • Owner creator
    • PC2/Power Users
    • PC2/Administrators
  • 属性 -> 标识 选项卡。选择 交互式用户 复选框。
  • 单击 确定 按钮返回到 分布式 COM 配置属性 窗口。
  • 默认属性 选项卡。选中 在此计算机上启用分布式 COM 复选框。
  • 默认属性选项卡 -> 默认身份验证级别 组合框。选择 连接
  • 默认属性选项卡 -> 默认模拟级别 组合框。选择 匿名
  • 默认安全 选项卡。在 默认访问权限 框架中,单击 编辑默认… 按钮,并添加以下用户(允许访问)
    • Everyone
    • Rebat Hiary
  • 默认安全 选项卡。在 默认启动权限 框架中,单击 编辑默认… 按钮,并添加以下用户(允许启动)
    • Everyone
    • 交互式
    • PC2/Administrators
    • 系统
    • Rebat Hiary
  • 默认安全 选项卡。在 默认配置权限 框架中,单击 编辑默认… 按钮,并添加以下用户
    • Naim Tobassi
    • Everyone
    • 系统
    • Creator Owner
    • PC2/Power Users
    • PC2/Administrators

如何配置客户端

  • 注册您的组件。
  • 打开 dcomcnfg 工具。
  • 应用程序 选项卡中,选择您的应用程序并单击 属性… 按钮。
  • 属性 -> 常规选项卡 -> 身份验证级别 组合框。选择 默认
  • 属性 -> 位置 选项卡。取消选中 在此计算机上运行应用程序 复选框,并选择 在以下计算机上运行应用程序 复选框。单击 浏览... 按钮,并选择目标计算机 (PC2)。
  • 属性 -> 安全 选项卡。选择 使用自定义访问权限 复选框。单击 编辑 按钮,然后单击 添加 按钮,添加以下用户(允许访问)
    • Rebat Hiary
    • Everyone
  • 属性 -> 安全 选项卡。选择 使用自定义启动权限 复选框,单击 编辑 按钮,然后单击 添加 按钮,添加以下用户(允许启动)
    • Everyone
    • Rebat Hiary
    • PC1/Administrators
    • 系统
    • 交互式
  • 属性 -> 安全 选项卡。选择 使用自定义配置权限 复选框,单击 编辑 按钮,然后单击 添加 按钮,添加以下用户
    • Rebat Hiary
    • Everyone
    • 系统
    • Creator Owner
    • PC1/Power Users
    • PC1/Administrators
  • 属性 -> 标识。选择 交互式用户 复选框。
  • 单击 确定 按钮返回到 分布式 COM 配置属性 窗口。
  • 默认属性 选项卡。选中 在此计算机上启用分布式 COM 复选框。
  • 默认属性 选项卡 -> 默认身份验证级别 组合框。选择 连接
  • 默认属性 选项卡 -> 默认模拟级别 组合框。选择 匿名
  • 默认安全 选项卡。在 默认访问权限 框架中,单击 编辑默认… 按钮,单击 添加 并添加以下用户(允许访问)
    • Everyone
    • Rebat Hiary
  • 默认安全 选项卡。在 默认启动权限 框架中单击 编辑默认… 按钮,单击 添加 并添加以下用户(允许启动)
    • 交互式
    • PC1/Administrators
    • 系统
  • 默认安全 选项卡。在 默认配置权限 框架中,单击 编辑默认… 按钮,单击 添加 并添加以下用户
    • Rebat Hiary
    • Everyone
    • 系统
    • Creator Owner
    • PC1/Power Users
    • PC1/Administrators
  • (非常重要) 从客户端计算机删除 EXE 组件。

注释

  • 如果上述步骤对您不起作用,您可以执行以下附加步骤
    • 生成代理/存根 DLL。
    • 在两台计算机 PC1 和 PC2 上注册它。
  • 如果您发现这些步骤遗漏了任何重要内容,请告知我,以便更新本文。
  • 警告!不正确地操作 DCOMCNFG 工具可能会损害您的计算机。
© . All rights reserved.