【转】DCOM远程调用权限设置

原文:https://blog.csdn.net/ervinsas/article/details/36424127

最近几天被搞得焦头烂额,由于DCOM客户端程序是在32位系统下开发的,调试时DCOM服务端也是安装在同一台机器上,所有过程一直还算顺利。可这次项目实施的时候,采购的一台服务器只能安装2008 64位,DCOM服务端必须安装在此服务器上(DCOM服务端程序有32位和64位的,没问题),这就导致一个问题了,DCOM客户端是32位的,无法在64位系统上运行,如果要重写64位的DCOM客户端程序,由于其依赖的模块太多,修改非常繁琐,所以就想将DCOM客户端程序运行在32位操作系统上进行远程调用64位上的DCOM服务。可在调试过程中,总是报告“拒绝访问”权限不够问题。查阅了网上各种资料,各种试,还是未能成功,最终自己查看DCOM服务端的系统事件查看器日志错误信息,摸索着终于解决了,在此特作说明,网上高手的资料并非完全错误,只是都不完全而已,还是给了我很大的帮助,非常感谢大家的无私啊。。。

        下面将我的方法完整的记录下来,以备参考,该方法已在2008 32 64位系统下测试通过:

 

一、全局条件

 

1、 服务端与客户端要在同一局域网内,且处于同一网段。

2、 服务端与客户端均要启用Guest账号。

3、 服务端与客户端均要用Administrator账号登陆,且登陆密码要设置为相同。

4、 关闭服务端和客户端的防火墙。

5、 通过ping命令测试服务端和客户端网络连接正常。

6、服务端和客户端都能够成功访问对方的共享文件夹。

 

二、服务端配置

A、DCOM配置

 

1、 “开始 -> 运行”,键入“dcomcnfg”命令,开启“组件服务”配置。

2、 左侧导航栏展开“组件服务 -> 计算机 -> 我的电脑”,右键单击“我的电脑”,选择“属性”菜单,弹出“我的电脑属性”配置框。如果单击“我的电脑”没有“属性”菜单,则需要在系统服务管理器中将“DistributedTransaction Coordinator”服务开启。

3、“默认属性”页面,勾选“在此计算机上启用分布式COM(E)”,“默认身份验证级别”选择“连接”,“默认模拟级别”选择“标识”。

4、“COM 安全”页面,点击“访问权限”区域里的“编辑限制”按钮,弹出“访问权限”设置框,添加“Administrators、Everyone、Guests、INTERACTIVE、ANONYMOUS LOGON”账号,允许所有账号的所有权限,点击“确定”按钮。同样点击“启动和激活权限”区域里的“编辑限制”按钮,弹出“访问权限”设置框,添加“Administrators、Everyone、Guests、INTERACTIVE、ANONYMOUS LOGON”账号,允许所有账号的所有权限,点击“确定”按钮。

 

5、 点击“我的电脑属性 -> 确定”,完成配置。

6、左侧导航栏“组件服务 -> 计算机 -> 我的电脑 -> DCOM 配置”,选择目标服务(此处以“EADS TETRA Connectivity Server API, Release 5.5”一项为例),邮件选择“属性”菜单,在弹出配置框的“常规”页面的“身份验证级别”选择“连接”。

 

7、 “位置”页面,如果“在此计算机上运行应用程序”复选框可选,则选上。

8、“安全”页面,“启动和激活权限”区域,选择“自定义”,点击“编辑”按钮,添加“Administrators、Everyone、INTERACTIVE、ANONYMOUS LOGON”账号,允许所有账号的所有权限,点击“确定”按钮。同样“访问权限”区域,选择“自定义”,点击“编辑”按钮,添加“Administrators、Everyone、ANONYMOUS LOGON”账号,允许所有账号的所有权限,点击“确定”按钮。

 

9、 “标识”页面,选择“交互式用户”。点击“确定”完成配置。

 

B、策略配置

 

1、“开始 -> 管理工具-> 本地安全策略”,开启“本地安全策略”配置。

2、点击左侧导航栏“本地策略 -> 审核策略”,右侧策略列表中,右键点击“审核登陆事件”选择“属性菜单”,“本地安全设置”页面,勾选“成功”、“失败”复选框,点击“确定”按钮退出。相同的方法设置“审核对象访问”和“审核特权使用”。

 

三、客户端配置

客户端配置就简单了,基本不用配置,只要将依赖的COM注册一下就可以了。

 

另:如果还是不行,那就悲哀了,只能借助服务端系统事件查看器日志,摸索解决了。。。

posted @ 2018-05-29 08:54  流浪者的飘  阅读(1756)  评论(0编辑  收藏  举报