请教大侠们一个关于COM+与用户登陆的安全问题写了一个COM+的分布式应用程序。应用服务器端部署了COM+,客户端和服务器用的都是Win2000,工作组模式。现在的麻烦是:要想客户端程序成功创建远程COM+对象,必须在所有的客户端计算机和服务器上创建一个相同的用户,假设是user_123,然后所有的客户端计算机操作人员必须用user_123来登陆Win2000,这样客户端程序就可以成功创建远程对象了。
由于用户单位很小,希望系统免维护,所以用域模式是不可能的了。但是用上面这种方式需要客户端维护,尤其是要求客户端Windows的登陆用户名限制,显然是麻烦的事情。我想知道,有没有办法降低或者绕过系统的COM+的安全(客户对安全性没有要求),实现在工作组模式下,客户计算机操作人员以任何身份登陆Win2000条件下,客户端程序都可以成功创建远程COM+对象?我有个想法,不知道是否可行:服务器端安装程序自动创建一个用户,假设叫user_myapp,客户端程序在创建远程COM+对象的时候指定用user_myapp身份来创建(程序预先实现),而不需要考虑客户端Win2000的当前用户。请大侠们指点指点,大家写的分布式系统中都是如何部署,如何解决创建远程对象的问题的。

解决方案 »

  1.   

    我不是很明白哟,什么创建COM+对象,既然安全性没要求,就在数据模块上写个检查用户名和密码的函数好了,呵呵,然后客户登陆时把用户名和密码发送过来就行了,补充一下我对COM+不了解,呵呵
      

  2.   

    最简单的是登录域,如果不想用这种方式就取消服务器断组件的身份验证(在组件服务里面),不取消的话,客户端会出现“创建com+失败”的消息,然后在你需要验证的地方自己做验证,
      

  3.   

    楼主这个方法可以实现,我以前也遇到过同样的问题,也是遇到一个高人给我指定,就是这样实现的,具体方法记不到了,有点久了,但要用了w2k的API,