DCOM 访问被拒绝问题






3.42/5 (6投票s)
2001年10月8日
5分钟阅读

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 工具可能会损害您的计算机。