我用TSocketConnection来连接中间层.中间层用TRemoteDataModule做接口.请教:1、在这种方式下服务器端如何实现对客户端用户的登陆管理,比如怎么才能保证有权限的用户端才能调用接口定义的方法。2、如果服务器端的方法较多,可以按功能模块划分。这种情况下,如何设计中间层?比如是把各模块分别写在单元文件中,或是单独编写各自的应用程序,还是写成DLL文件?如果每个模块都分别写成一个独立的程序的话,那么就要定义出多个TRemoteDataModule接口,可它们要是想互相调用数据时也是通过接口定义的方法来实现吗?3、TSocketConnection只要能与远程数据模块连接上,就能获得它的接口。这是不是意味着,如果别人知道了我远程模块所在的服务器地址后,那他就可以自己开发客户端,直接调用这个接口了?好像很不安全啊。

解决方案 »

  1.   

    3.还是可以用方法1来实现啊!比如传递一个你自己定义字符串"abcde",服务器端只有判断到参数值是"abcde"才去执行过程,否则就返回错误!别人是不容易知道的
      

  2.   

    那就是说,每次中间层的接口定义的方法被调用时就要先读取客户端传过来的用户信息,然后去用户验证模块验证一次,如果成功就再执行这个被调用的方法?那是不是每个方法执行的第一步就都要先调用一个验证模块了?有点像B/S模块下每页开始都要与SESSION或COOKIE核对一样吧.
      

  3.   

    我现在做的客户端采用的是调接口时才连接,调完后就断开连接,不知大家一般会采用哪种方式.我感觉这样可以给服务器减轻的资源.To yud(东东)
    你在小类版的右上方点"提问"就可以发贴.
      

  4.   

    唉,我现在采用了MTS/COM+接合Midas来做中间层了,感觉比直接用Delphi的远程数据模块来做的好一些。
      

  5.   

    to zoom9002(venson) :
    你好,在下也是最近才开始接触三层的,不知兄台有没参考资料给一些让在下参考参考?
    先谢了!