利用pdo实现不同web应用的认证统一

pdo.net是我开发中的sso模块的一部分,它是兼容pdo统一接口的.net实现

简介
========================================
pdo规范由动易(powereasy),动网(dvbbs),oblog三方联合制订和维护,其目的在于为不同的WEB应用按照统一的规范开发用户通行接口,以便实现不同WEB应用之间的用户数据同步。对该规范感兴趣的人可以去http://www.powereasy.net/Soft/documents/86.html下载


优点
=========================================
每个整合的网站不需要修改自己的逻辑业务和数据结构
用户完全独立存储,不需要将用户集中在用一的结构中。
很适合两个用户库结构差异比较大的应用整合
还有不同语言 不同数据库的整合也是可以考虑的

原理
=========================================
不同的web应用通过把用户序列化为xml来传递用户对象,利用ServerXmlHttp 进行服务器和服务器之间的通讯来传递数据进行通讯

User类



我们需要做什么?
=========================================
配置一些参数:  配置通讯需要的令牌和需要同步的网站的信息
实现一个接口:  为了让其它网站发送同步信息时更够用自己的方法去修改自己的用户数据
调用一些方法:  在注册 登陆 注销 更新时调用Ping方法 向其它需要同步的网站发送同步请求



      配置一些参数
--------------------------
1、增加一个配置节

配置节

2、添加httpHandler用来供其它网站Ping

<httpHandlers>
      
<add verb="*" path="PDOPing.aspx" type="Boxi.Web.SSO.HttpHandler.PDOPingHttpHandler,Boxi.Web.SSO"/>
</httpHandlers>

    实现一个接口
-----------------------
根据自己的逻辑业务 实现自己的方法

IPDOAction


    调用一些方法
----------------------
1、在自己的页面的登陆和注销中额外发起一个客户端http请求
//这部分正在寻找更好的解决方法
//这是为了保证每个站点均操作cookies

2、在注册、更新、删除、获取用户资料时使用ping中提供的方法
reguser(User user); 注册用户
update(User user); 更新用户
delete(User user);删除用户
User getinfo();//获取用户信息

同步的实例
原文地址:https://www.cnblogs.com/titi/p/482469.html