目前我们的思路是利用代理服务器连接sqlserver,用SQLSERVER自身的安全机制来控制客户端登陆,您的设计思路是什么,很想和你探讨交流mailto: [email protected]

解决方案 »

  1.   

    目前我们的思路是利用代理服务器连接sqlserver,用SQLSERVER自身的安全机制来控制客户端登陆,您的设计思路是什么,很想和你探讨交流mailto: [email protected]
      

  2.   

    我 的想法是:
     设计一个密码数据库包含加密了的PASSWORD和权限
    然后用TDATEBASE 或 TSESSION 打开数据库读取内容
      

  3.   

    在服务端实现几个自已的接口:
    (1)Login(UserName,Password,[Out Ret] IsLogin),在此接口中实现对UserName,Password的识别,允许就返回True(IsLogin).这是初步的识别。(2)为防止不通过Login接口而访问其它接口,请再实现IAppServer接口:
    AS_ApplyUpdates,AS_Execute...等共6个接口,在每个有OwnerData参数的接口中,将OwnerData定义为一个VarArray:[0]UserName[1]Password[2]真正的OwnerData。然后调用Login,如果返回True则调 用原来的AS_...接口,同时将OwnerData[2]作为其AS_...的OwnerData参数。如果返回False,则Raise一个错误。
    对于自定义的接口,如需要保护也需加User,Password。
    ----注意:此部份可能需要作为编译宏括起以免设计时无法传递密码成无法访问。(3)在客户端,必须在ClientDataSet的OnBefore...或程序中将Username,Password,以及所需的OwnerData组成如上的数组传递。再实现Application.OnException以显示服务器传回来的错误。缺点:每次都必须传递User/Password,挺浪费的。改进方法:在Login成功时,返回一大的随机号码作为识别号(象Cookies),然后记录在某个地方(如数据库,临时文件,SPM等一切可以存放的地方),以后用户端所有调用的接口都必须传递Cookies号码,让服务器识别。----->是不是类似ASP的Session对象??
      

  4.   

    偶用得就是SocketConnection,然后和你得思路就是一样?一样,克隆吗?!@##$%$^%
      

  5.   

    bigban
    搞定了没?搞定了别忘了加分。我很渴望分数。