一个老问题,关于DCOM连接,客户端拒绝访问(200分)

  • 主题发起人 主题发起人 locusw
  • 开始时间 开始时间
L

locusw

Unregistered / Unconfirmed
GUEST, unregistred user!
我检索过以前对这个问题的订论。
我的应用环境是,数据服务器(scounix + oracle8i),应用服务器(winNT4.0),客户端(win98)
分属三台不周的机器。
在客户端连接nt的DCOM服务必须用具有administrator权限的用户访问,否则提示拒绝访问(希望普通用户能够启动),
这个问题已困绕我两年了.
我用过NT上的DCOMCNFG这个应用程序专门对自己的DCOM服务进行专门的配置,可是依然无效.
(在NT上,因该服务由具有administrator权限人启动,所以无法手工杀掉,这是最大的难题).
恳请曾经遇到这个问题并通过准确的配置解决了问题的大虾给予详细说明.
我还有点疑问,除了NT配置以外,是否delphi远程数据模板或相应控件的设置是不是也有关系?
我的email是locusw@sina.com,如能email交流,更感激不尽!!如果真能解决问题,200分太少了
 
建议看看李维老师写的ADO/MTS/COM+高级程序设计篇第7章:MTS/COM+的安全机制.
 
你的设备还不是正确,建议看相关的COM、DOMC设置条目,另外可以试试SocketConnect
和WebConnect,在配置上比较容易,另外可以实现跨Internet。
 

我已不至是配置二天都将近一星期了,还是不行,快气死了,
李维书上讲的都不一样,书也太花俏了,都不能讲点实质的。
我已在win2000根据要求设置好了,
将DCOMConnection1的computername设为本机时可以通过,
如果设为对等网的其它机子却提示"没有注册类别"
这是为何?
还有使用socketconnection是否一定要运行 scktsrvr,
那不就意味着服务器端得运行二个程序(一个是scktsrvr,一个是自编的服务器端),是吗?
 
楼上的兄弟,我也是自己的机器可以启动。在做应用程序时,你可以首选建立一个注册
界面,选则中间层的机器名,选则自己当然没有问题。你可能以为我配置了两年是笔误,
其实是在1999年遇到了这个问题,只是没有解决,而是用system权限的用户启动服务,
而现在用户提出问题了,东窗事发呀。关于提示没有注册,你安装中间层机器是不是服务
器,有没有在服务器上运行一下你的中间层程序?
 
中间层程序是指哪一个?
不就只的服务器端和客户端吗,哪一个指中间层?
 
我就是按要求设置好了,可现在还是一样提示“拒绝访问”
 
我们两台win2k机器互联,dcom一样的配置,一台完全正常,另一台拒绝访问,感觉好怪啊
请大家指点
 
用DCOMCNFG配置默认安全机制标签下的 默认访问权限 和 默认启动权限 ,
在两项中都加入需在客户端登录的用户名或者包含该用户的用户组
配置自己的应用服务器的属性中的 身份标识 标签
指定一用户(包括三项)
希望有帮助,我曾在民NT4中成功过
 
你在AP端的ComputerName尽量不要用选的,而要用AP IP Address
因该就可以了。我之前也遇到和你相同的问题就用此方法问题
 
NTServer
1.加一个用户midas
2.运行dcomcnfg,设置允许midas启动和访问应用服务器对象
Win98
1.用midas登陆,就行了
没有问题
 
据我的经验,拒绝访问有两个原因:一是权限不够,二是有关类型库没有注册。
对于拒绝访问的问题,主要发生在启动,因为启动的权限设置要求一般比较高。
对于客户端不能访问,你一定要确认用户是否得到认证,即:用户进入WIn9x时是否使用
指定的用户,如果不是域用户,则该用户的密码是否与服务器的同名用户的密码一致。
如果这些都正常,那一般就不会发生这种情况了。
 
这个应该是配置的问题,
还有你的这个服务是不是做了一些操作必须有Admistrator的权限,
因为根据我的经验,并不是所有的服务都需要Administrator权限的,还有,注意在NT系统上,
如果你要以某个人的身份启动的话,
最好在注册的时候就以那样的人的身份登录,这样,可能会容易设置一点
 
我在用BCB5做多层结构系统时,我在Server端加入了一个取得服务器IP地址的方法:GetServerIP它的参数是vIP:Variant *,IN方式,并在服务端实现了这个方法,
加入的代码如下:
*vIP="192.168.0.01";最后我注册成功。
可是在我开发客户端程序时,我用TSocketConnection
当取得它的服务时我是这样做的:
Variant* vip;
SocketConnection1->AppServer.GetServerIP(vip);
Edit1->Tex=vip;
可 是我在运行程序时出错,没有编译通过。
它说getserverIP不是variant的成员
getserverIP is not a memober of variant
请问?
我该如何去调用这个方法呢?
请各位大侠多多指教?
小生的QQ:65466700(24小时在线恭候)
MAIL: alongsun@sina.com
 
后退
顶部