客户端连接应用服务器如何设置密码(采用socket server)服务器端如何设置客户端连接时需要密码的方式http://expert.csdn.net/Expert/topic/2502/2502888.xml?temp=.6128656

解决方案 »

  1.   

    怎么会看不明白么
    TSocketConnection连接应用服务器的时候,通过Borland Socket Server 连接应用服务器
    其中没有用户密码这种类型的东西。
      

  2.   

    也就是任何人通过TSocketConnection都可以连接到我的应用服务器啊
      

  3.   

    loginprompt那个选项选成true也不行,因为我做的程序
    如果你用TSocketConnection连接时候不设置成false
    就一样连接我的应用服务器。
      

  4.   

    to aiirii(ari)你的验证是加在哪里呢。我也想过就是用一个tcpserver和client来实现,可是这个不是我的问题关键啊,如果你写的应用服务器,我知道你的Borland Socket Server的ip地址,和端口,那么我根本不用走你的登陆验证接口就可以调用应用服务器访问你的数据库了除非应用服务器能做到控制特定用户连接,但是我不知道怎么做这一项功能。
      

  5.   

    我建议你在RemoteDataModel中建立一全局变量,登录后修改该值,远程用户连接后检查该值再提供服务。
      

  6.   

    对于多层应用,客户根本是不被允许直接访问数据库的,你的SQL SEVER是应该结合NT安全机制,访问权应该在管理员(DBA)手里,所有的客户端对数据的访问应该都是通过 APP SEVER进行的,APP SERVER是通过提供一些供客户调用的接口来让CLIENT访问数据的,但是通常这些接口只应由登陆后的用户才能调.
      

  7.   

    hiflower(花) 所谓的真正访问功能,是服务器控制,还是有客户端程序控制,如果有客户端的程序控制是否进行访问,那就没用的。我想你的控制应该是在应用服务器里面吧。那么是如何控制允许那些用户访问,那些部提供访问呢。我问的关键就是这个访问功能。
      

  8.   

    对花的功能作一扩充:不要将标志放在全局变量里,放到数据库的一个表里,记录客户端IP(在客户端取得并发给服务端)及登录状态,其它操作前检查这个表.更安全的办法是用Interceptor
      

  9.   

    详细说明一下
    TSocketConnection
    通过了服务器的host和servername连接到了服务器
    TClientDataSet的RemoteServer是上面的Tsocketconnection然后
    在Tclientdataset中的ProviderName自然的看到了应用服务器的TDataSetProvider的名字
    就可以连接。而其中并没有需要密码什么的操作过程,上面个位大侠的标志全局变量如果通过
    客户端发给服务器,而又如何让服务器屏蔽TDataSetProvider给特定某个客户的访问。通过什么手段让其他人无法连接或需要密码。
    整个一个过程,怎么处理,我是不是太笨了,麻烦之处敬请原谅。
      

  10.   

    那就只有用Interceptor,只有装了你的Interceptor的客户端才能连,没装就不行
      

  11.   

    nterceptor是什么啊,我没用过啊老大
      

  12.   

    to  YANGYUGW(小杨):
     一般, 只有在試驗性的代碼中, 或對安全沒有要求, 才直接將數據接口暴露給客戶端;
     如果, 你想開發實際的系統, 可能要改變思路, 看看 DCom, 或 com+方面的實現, 提供一系列用戶接口, 包括登錄接口, 讓客戶端調用!
      

  13.   

    Interceptor是MIDAS为SOCKETConnection提供的一项安全技术,用于为SocketConnection的数据传输提供加密等服务,具体实现见EXAMPLES目录下的MIDAS/Interceptor
      

  14.   

    BCB好像没有这个DEMO,在DELPHI的Demos/Midas/Intrcpt下