我做了个DCOM程序,server和client都在本地时可以运行,
我把DCOM客户端注册到另外一台计算机上,根据书上说的要配置用户权限,然后我运行客户端程序,他提示说拒绝访问,请高手帮我决绝一下这个问题!

解决方案 »

  1.   

    1。还是权限配置的问题,看下你DCOMCNFG中该中间件的身份标识的属性。再看其对应的用户是否有访问权限。
    2。连接服务器中间件时,尽量不要用SERVERNAME而是直接用SERVERGUID。
      

  2.   

    客户端配置如下:
    1. 先把服务器在客户端运行,系统会自动注册,然后点”开始”->”运行”,输入”dcomcnfg”,然后回车,启动DCOM配置。
    2. 常规页面中,双击你的应用服务器,打开你的应用服务器DCOM属性设置。
    3. 将常规页面中的身份验证级别改为“无”。
    4. 身份标识页面中,选择“交互式用户”。
    5. 位置页面中设好你的中间层的的机器。
    6. 进入DCOM的总体默认属性页面,将“在这台计算机上启用分布式COM”打上勾,将默认身份级别改为“无”。
    服务器端配置如下:
    1. 运行NT服务器上的dcomcnfg程序,进行DCOM配置。
    2. 进入DCOM的总体默认属性页面,将“在这台计算机上启用分布式COM”打上勾,将默认身份级别改为“无”。
    3. 进入DCOM的总体默认安全机制页面,确认默认访问权限和默认启动权限中的默认值无EveryOne,如果不去掉EveryOne,应用服务器不能正常启动。
    4.在常规页面中,双击你的应用服务器,打开你的应用服务器DCOM属性设置。
    5.将常规页面中的身份验证级别改为“无”。
    6.位置页面中选上“在这台计算机上运行应用程序”。
    7.将安全性页面设置中,均选择“使用自定义访问权限”,编辑每一个权限,将EveryOne加入用户列表中。
    8.身份标识页面中,选择“交互式用户”。
    9.NT的GUEST用户不能禁用
    注意:关键所在,在控制面板--用户和密码里administrators用户的属性--隶属于里添加power users,其它用户也这样做,guest用户绝对不可以禁用