您的位置:首页 > 其它

soap应用之一多点登陆(喜悦村首发)

2006-08-15 21:24 190 查看
继续上一篇文章,继续谈下soap的多站点登陆,跨域名登陆,半夜没睡着一直想这个问题,2点起来把它变成文字。哈哈
这个东西我还没具体的的用代码实现,但是把原理理清楚了,应该是实现起来没有问题的。

首先 在server端,建立3个函数,一个是登陆 函数 需要参数 用户名,密码,服务器,
另外一个是根据user id取得 用户资料的函数,第三个就是登出了。

客户端
全存在2中可能,一种是用户没有登陆(当然是提供,用户名,密码,服务器代码 让他去登陆),一种 已经在别的地方登陆过了
(提供登陆user id,服务器代码 ,我们取得资料重新把session在新的域名下注册下)

应该也是2个函数
一个登陆 参数 :用户名,密码,服务器代码
一个是多点登陆 参数 :user id

下面把原理演示下
域名一 用户没有登陆 提供用户名,密码,跟登陆代码 我们向server端发送一个请求,返回用户的用户名,跟密码是否正确,如果正取
同时返回其他的有用的信息,我们放到session里,这个时候应该在这个登陆的站点完成了登陆。

用户从域名一跳转到域名二 用get的方式跳转,提供一个user id

域名二 查看域名下没有用户的session 信息,然后看看是否提供了user id 如果提供了,向服务器发送了一个请求,提供user id号
这个时候,应该顺便在发送一个标志,证明用户是从这个站点发送的请求,为了加强安全性,不过这个时候还是有可能接受到脏的数据,
因为user id还是暴露给用户了,可以修改的,但是这样出现的user id 存在的可能性比较低但是存在。服务器取得user id后
同时判断是否是正确的地址发送的请求,如果一切正常,查找并返回相关的信息,域名2接受到 server返回的数据,然后注册session。

具体的情况还是要根据具体的需求去修改的,中间传递的user id可以加密,等等的方式处理下,但是这个数据还是会有些问题。

可以采用 里头头几天发的 ] passport设计一例 中提到的方法 ,还可以 使用一个 2 个库 或者多个库共存的方式,只不过,根据不同的域名
下提供不同的信息而已。

大家仔细研究下,或者好好想想,就能发现这样完成比用纯粹的get方式传递的好处了,用户可以污染的数据已经很少了。而且关于soap的安全性
现在已经漫漫的规范起来了,如果做好了,我们加上安全措施也是比较简单的。

书写完毕,睡觉去了!关于web server的东西应该还有很多,漫漫的体会,会发现更多的东西!特意弄了本书,不过发现网络的资料
现在已经远远的超过的铅字的速度,我今天想找本关于python的书,去了王府井,我没有找到!

作者:叁石
mail:sanshi0815@tom.com
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: