一、设定环境为两个站点对等整合;
站点一:http://tempurl.org
站点二:http://myurl.com
站点一和站点二希望共享注册用户;以用户Email为用户的唯一标识;
现在,有站点二的用户A访问站点一,过程如下:
用户在站点一用站点二的信息进行登陆–>站点一验证用户失败–>向站点二查询该用户信息–>站点二验证成功,将信息返回给站点一–>站点一登记该用户信息并进行登陆–>用户登录成功。
站点一的登陆验证过程:
1.获得用户提交的email和密码;
2.进行数据库查询和验证–>失败;
3.引用站点二的WebService(假设为MyInterface),本地实例名为sValidator;
4.判断:If sValidator.IsUser = True then
username = sValidator.username
password = svalidator.password
5.登记此用户,将基本信息写入数据库;
6.登陆此用户。
如果是站点一的用户登录站点二,过程一样。
二、设定环境为多站点以站点一为核心进行整合;
站点一:http://tempurl.org
站点二:http://www.myurl.com
站点三:http://bbs.myurl.com
站点一为核心;一种情况是注册可以各自进行,在站点一以外的站点注册时,先通过站点一的Webservice进行注册,如果注册失败,则在本地站点也不予注册;这样确保所有用户在站点一都有记录;
假设A用户在站点二进行注册
流程如下:
注册成功的:站点二提交该用户信息给站点一进行注册–>站点一进行检验,资料没问题,写入数据库,注册成功,返回一个信息给站点二–>站点二将用户资料写入数据库,注册成功;
注册失败的:站点二提交该用户信息给站点一进行注册–>站点一进行检验,资料有问题或其它原因,不能注册,返回一个信息给站点二–>站点二向用户返回注册失败信息;
站点二的注册流程:
1.获取用户信息,进行有效性等验证通过;
2.引用站点一的WebService,假设为MyInterface,本地实例名:sRegUser
3.进行注册
sRegUser.UserName = username
sRegUser.Password = password
sRegUser.UserEmail = useremail
If sRegUser.Reg = True Then
'进行本地注册
Else
'注册失败
End If
现在,用户A通过站点二已经注册成功了,他分别到在三个站点进行登陆
站点一:
用户登录–>站点一验证登陆成功
站点二:
用户登录–>站点二验证登陆成功
站点三:
用户登录–>站点三验证登陆失败,向站点一查询–>站点一验证登陆成功,返回给站点三–>站点三在本地数据库登记该用户–>站点三验证登录成功
上述的整个思路,是以站点一的WebService作为核心,如果站点二是ASP.NET站点,那么就创建本地代理来使用;如果站点三是ASP站点,那么可以考虑采用Microsoft Soap Tool Kit,如果是其它语言平台的,就用其它语言平台的WebService使用工具。都不行的情况下,可以用Post请求的方式来进行。
具体的实现以后如果有空再细谈,这里只是一个思路,其实这样的思路并不复杂,而且已经有很多运用的实例了。实现起来不是问题,只是多注意WebService的安全性就好了。
作者:小李刀刀
原文链接:利用WebService进行网站整合的实现
裁纸刀下版权所有,允许非商业用途转载,转载时请原样转载并标明来源、作者,保留原文链接。
[quote=Zero]有一处错误。。。。add ![/quote]
???什么错误
[quote=Zero]有一处错误。。。。add
![/quote]
???什么错误
[url=http://www.1xhtml.com]有一处错误。。。。add ![/url]
[url=http://www.1xhtml.com]有一处错误。。。。add
![/url]