在做一个web service通信的东西,通常web service只有一个调用的地址,有人知道了这个地址之后就能够获得调用它,即使用它的服务了。
这个有一个毛病就是,只有有了地址,谁都可以调用,现在引入这样一个概念:客户端调用的时候需要输入用户和密码,同时,客户端固化了一个特定的算法,根据用户和密码生成一段加密的字符串,启动调用web service同时要提交用户、密码和加密字符串;
服务端也有同样的加密算法,根据客户端提交的用户、密码,生成加密字符串,在判断用户和密码正确后再验证加密字符串是否正确,都正确的情况下才提供web服务。请问这个验证过程的协议是否和TCP/IP的"握手协议"有点挂钩?如果不是,有是什么概念的协议呢?

解决方案 »

  1.   

    不和TCP/IP挂钩,是你自己定义的应用层的协议。或者是说你自己定义数据的语义
      

  2.   

    就是 SOAP 嘛,搞得神秘兮兮的。SOAP是基于HTTP协议的。在HTTP协议里加点自己的东西 就可以了。比如说用session,用户使用时要先 Login ,Login 成功后,服务器给客户端一个 session. 也就是一个 GUID 吧。服务器保存这个 GUID,与最后活动时间,保存到一个 Session 表中,可以在内存里,也可以在数据库里,以后客户端要用服务器功能,需要把这个 session 做为 cookie 传给服务器。服务器读出这个 cookie,在 session 表中查,看这个session 是否有效。无效不做处理,服务器端定时更新 session 表,把超时的session 删了。
      

  3.   

    上楼兄弟肯定是高人啊!我也视图用session来做,但是苦于没有学习的例子。能给个例子嘛?