我正在学习com编程,今天写了一个com服务器和配套的客户端程序,当客户端程序与com服务器在同一台机器上运行时,客户端可以连接到服务器上,但是当我把客户端放到别的机器上运行时,却出现了“拒绝访问”的错误(我的客户端连接服务器的代码是CoXXXXClass.CreateRemote('MachineName'))。请问这是什么原因?如何解决?是不是com服务器一定要安装在域控制器上,要访问这个com服务器的机器一定要先登陆该域,这个客户端程序才能访问呢?请各位高手帮忙解答,谢谢。
调试欢乐多
DCOM配置 如果在Windows NT环境下正常运行应用服务器,必须进行DCOM配置。配置方法如下: 1.运行NT服务器上的dcomcnfg程序,进行DCOM配置。 2.进入DCOM的总体默认属性页面,将“在这台计算机上启用分布式COM”打上勾,将默认
身份级别改为“无”。 3.进入DCOM的总体默认安全机制页面,确认默认访问权限和默认启动权限中的默认值无EveryOne,
如果不去掉EveryOne,应用服务器不能正常启动。 4.在常规页面中,双击你的应用服务器,打开你的应用服务器DCOM属性设置。 5.将常规页面中的身份验证级别改为“无”。 6.位置页面中选上“在这台计算机上运行应用程序”。 7.将安全性页面设置中,均选择“使用自定义访问权限”,编辑每一个权限,将EveryOne加入用
户列表中。 8.身份标识页面中,选择“交互式用户”。 9.NT的GUEST用户不能禁用。同样,你要把你服务器上的的midas.dll考到客户机器的system目录下才行
同时运行一下regsvr32 midas.dll
7.将安全性页面设置中,均选择“使用自定义访问权限”,编辑每一个权限,将EveryOne加入用
户列表中。
”
为什么?
为什么不可以直接指定用户?而不是everyone?
如果加入everyone,那岂不是太不安全了?密切关注
把需要启用服务器的用户定义到一个用户组,在启动权限里加入这个组就可以!
我的大概是这样,不知我有没看错!