- 浏览: 497633 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (301)
- Swing技术 (1)
- Linux (1)
- Javascript (22)
- 数据结构和算法 (3)
- J2SE (36)
- workflow (5)
- 设计模式 (14)
- web service (19)
- Ajax (14)
- 中间件 & 服务器 (8)
- 多线程 (9)
- Oracle (52)
- sys & soft (10)
- JMS (3)
- sso (9)
- android (11)
- struts2 (10)
- web协议 (2)
- 分布式 (2)
- PM (2)
- OLAP (3)
- Redis (2)
- Hibernate (7)
- ibatis (2)
- SQLServer (1)
- maven (3)
- Spring (7)
- Jsp (2)
- slf4j (1)
- jQuery (15)
- 权限 (1)
- 系统集成 (1)
- 笔记 (1)
- Freemarker (2)
- 项目管理 (1)
- eclipse (3)
- GIS (1)
- NoSql (3)
- win10 (1)
- win10网络 (2)
- 底层 (3)
- 数据库 (0)
最新评论
-
kabuto_v:
请问那种图,uml图是怎么画出来的呢?是您自己手工画的,还是有 ...
FastJSON 序列化、反序列化实现 -
梦行Monxin商城系统:
电商实例、业务并发、网站并发及解决方法 -
rockethj8:
client 㓟有一个参数是可以忽略一些URL 不进行验证登录 ...
SSO 之 (单点登录)实施中遇到的几个问题 -
mengxiangfeiyan:
好啊。。。。。
Oracle删除表,删除数据以及恢复数据、利用现有表创建新表
http://cailin.iteye.com/blog/143116
转载(海纳百川文章http://www.cnblogs.com/David-weihw/a)
本文是 单点登录系统(SSO)详细设计说明书(上篇)的续篇,为了更好地了解该系统请先阅读上篇
3.3输入输出要求
解释各输入输出数据的类型,并逐项对格式、数值范围、精度等作出准确定义。对软件的数据输出及必须标明的控制输出量进行解释并举例,包括对硬拷贝报告(正常结果输出、状态输出及异常输出)以及图形或显示报告的描述。
3.4 流程逻辑
<st1:chsdate w:st="on" isrocdate="False" year="1899" day="30" islunardate="False" month="12"> 3.4.1</st1:chsdate>注册流程图
<st1:chsdate w:st="on" isrocdate="False" year="1899" day="30" islunardate="False" month="12">3.4.2</st1:chsdate>会员登录流程图
<st1:chsdate w:st="on" isrocdate="False" year="1899" day="30" islunardate="False" month="12"> 3.4.3</st1:chsdate> 会员登出流程图
流程图使用Visio制作,浏览不方便。特别生产了HTML格式的文档,请从这里下载http://files.cnblogs.com/david-weihw/passport.rar,到本地查看。
休息一下进广告:
<st1:chsdate w:st="on" isrocdate="False" year="1899" day="30" islunardate="False" month="12"> 3.4.4</st1:chsdate> 会员修改密码流程图
<st1:chsdate w:st="on" isrocdate="False" year="1899" day="30" islunardate="False" month="12"> 3.4.5</st1:chsdate> 会员找回密码流程图
<st1:chsdate w:st="on" isrocdate="False" year="1899" day="30" islunardate="False" month="12"> 3.4.6</st1:chsdate> 成员网站间跳转流程
假设从成员网站A跳转到成员网站B,网站A提供网站B的入口链接即可。导航到网站B后,其流程与会员登录流程一样。
<script type="text/javascript"><!----></script><script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"> </script><iframe name="google_ads_frame" marginwidth="0" marginheight="0" src="http://pagead2.googlesyndication.com/pagead/ads?client=ca-pub-3677762604679039&amp;dt=1195810849072&amp;lmt=1195810849&amp;prev_fmts=728x90_as&amp;slot=1&amp;format=728x90_as&amp;output=html&amp;correlator=1195810849072&amp;channel=6912367067&amp;url=http%3A%2F%2Fwww.cnblogs.com%2FDavid-weihw%2Farchive%2F2007%2F01%2F29%2F633436.html&amp;ad_type=text_image&amp;ref=http%3A%2F%2Fwww.cnblogs.com%2FDavid-weihw%2Farchive%2F2007%2F01%2F25%2F630621.html&amp;cc=70&amp;ga_vid=157724224.1195809345&amp;ga_sid=1195809345&amp;ga_hid=349500103&amp;ga_fc=true&amp;flash=9&amp;u_h=864&amp;u_w=1152&amp;u_ah=830&amp;u_aw=1152&amp;u_cd=32&amp;u_tz=480&amp;u_his=1&amp;u_java=true" frameborder="0" width="728" scrolling="no" height="90" allowtransparency="allowtransparency"></iframe>
3.5对性能的规定
<st1:chsdate w:st="on" isrocdate="False" year="1899" day="30" islunardate="False" month="12">3.5.1</st1:chsdate>精度
<st1:chsdate w:st="on" isrocdate="False" year="1899" day="30" islunardate="False" month="12">3.5.2</st1:chsdate>灵活性
设计时需要充分考虑功能的扩展,使功能模块具有很强的灵活性。
灵活性因素:
a.操作方式上的变化;
b.运行环境的变化;
c.同其他软件的接口或其他软件对该模块的集成;
d.精度和有效时限的变化;
e.计划的变化或改进。
3.6 数据管理
<st1:chsdate w:st="on" isrocdate="False" year="1899" day="30" islunardate="False" month="12">3.6.1</st1:chsdate>数据管理能力要求
说明需要管理的文卷和记录的个数、表和文卷的大小规模,要按可预见的增长对数据及其分量的存储要求做出估算。比如,在数据库中设计中会员ID时,若采用自增型变量要估算会员的数量级,确定采用(int)数据类型,还(bigint)数据类型。
<st1:chsdate w:st="on" isrocdate="False" year="1899" day="30" islunardate="False" month="12">3.6.2</st1:chsdate>数据库设计(Passport服务器)
1).Pass_Member(会员表)
字段名称
数据类型
说明
备注
mPassID
Bigint
会员ID号
自增型,PK(主键)
mName
Nvarchar(64)
会员名
Email作为会员名(创建索引)
mPwd
Nvarchar(32)
会员密码
数据库中保存MD5运算的结果
mGBPwd
Nvarchar(32)
会员找回密码
会员找回密码时,生成的密码,会员激活后覆盖会员密码
mWake
Tinyint
会员唤醒
当和成员网站建立映射关系后,唤醒该会员
mMapWebsite
Nvarchar(128)
会员映射的成员站点
建立会员映射关系的成员网站串
mRegDT
Datetime
会员注册时间
mAreaCode
Nvarchar(8)
区域代号
mBack
Nvarchar(64)
预留字段
预留扩展
注意:成员网站的会员表,需要通过mPassID字段建立与Pass_Member表中会员的映射关系。
备注:<st1:chsdate w:st="on" isrocdate="False" year="1960" day="20" islunardate="False" month="11">60-11-20</st1:chsdate>添加两个字段(红色高亮)
2).Member_WebSite(成员网站表)
字段名称
数据类型
说明
备注
mWebID
int
成员网站ID编号
PK(主键)
mWebName
Nvarchar(32)
成员网站名称
mWebURL
Nvarchar(32)
成员网站URL
mWebIP
Nvarchar(16)
成员网站IP
mWebManager
Nvarchar(16)
成员网站管理员
成员网站故障时,便于维护
mWMTel
Nvarchar(16)
成员管理员电话
mBack
Nvarchar(64)
预留字段
预留扩展
3).Member_Ticket(会员票据表)
字段名称
数据类型
说明
备注
mTicketID
Nvarchar(240)
验证票编码
PK(主键)
mPassID
Bigint
会员ID号
FK(关联Pass_Member表mPassID)
issueDT
Datetime
票签发日期时间
availDT
datetime
票有效日期时间
digitalSign
Nvarchar(32)
票的数字签名
用于保证票的安全
mBack
Nvarchar(64)
预留字段
预留扩展
4).Member_SignRecord(会员登录记录表)
字段名称
数据类型
说明
备注
ID
Bigint
记录ID号
PK(主键)
mPassID
Bigint
会员ID号
FK(关联Pass_Member表mPassID)
signinDT
Datetime
登录日期时间
signinWebID
int
登录网站ID编号
FK(关联Member_WebSite表)
signoutDT
Datetime
登出日期时间
signoutWebID
int
登出网站ID编号
FK(关联Member_WebSite表)
mBack
Nvarchar(64)
预留字段
预留扩展
<st1:chsdate w:st="on" isrocdate="False" year="1899" day="30" islunardate="False" month="12">3.6.3</st1:chsdate>数据处理
创建作业
1、定时把验证票的记录导入的备份表中,供统计分析使用。
2、定时把一天以上没有激活的会员删除
3.7 Passport服务器与成员网站接口规范
<st1:chsdate w:st="on" isrocdate="False" year="1899" day="30" islunardate="False" month="12"><st1:chsdate w:st="on" isrocdate="False" year="1899" day="30" islunardate="False" month="12"> 3.7.1</st1:chsdate> P</st1:chsdate>assport服务器入口及调用接口
a.注册入口
重定向规范:
成员网站注册重定向地址:http://passport.david.cn/register.aspx
成员网站入口参数:AppID 成员网站ID号
Redirect Passport重定向地址
Passport回传参数: Ticket cookie验证票加密串
PassID 会员ID号
UserName 会员名称(Email)
举例:
假设AppID=1;Redirect=http://www.woall.com/index.aspx
Ticket= 53D2FD484DC6FAD75E82; UserName=david@gmail.com
PassID=1234
则 成员网站重定向地址为:
http://passport.david.cn/register.aspx?AppID=1&Redirect=http://www.woall.com/register.aspx
Passport重定向地址为:
http://www.woall.com/index.aspx?Ticket=53D2FD484DC6FAD75E82&PassID=1234&UserName=david@gmail.com
Web Service通信规范:
若用户从成员网站A重定向到Passport服务器注册会员时,Passport调用成员网站Web Service接口,建立Passport数据库与网站A数据库中会员的关联,关联字段为Pass_Member表中的mPassID。
Web Service名称: pass_user_related
所有者:成员网站
调用者:Passport服务器
输入参数:PassID:字符串,表示会员ID号
输出参数:Flag:布尔型,表示是否成功建立关联
b.登录接口
验证cookie票Web Service规范:成员网站本地域存在cookie验证票时,使用的接口。
Web Service名称:web_ticket_auth
所有者:Passport服务器
调用者:成员网站
输入参数:TicketCode 字符串 验证票字符串
AppID 字符串 成员网站ID
输出参数:Flag:布尔型,表示验证票是否合法
验证逻辑:只要数据库中存在该验证票,且在有效期内,即合法。
HTTP[本接口改为了重定向的方式,请参考下面的部分] 请求通信接口规范:成员网站域不存在cookie验证票,查看Passport域是否存在。
Passpport提供的URL:http://passport.david.cn/pass_ticket_exist.aspx
输入参数:无
输出参数:XML格式的文本(符合RSS2.0标准),XML包含节点
Flag:表示是否存在合法的验证票
Ticket:表示验证票字符串
PassID:表示会员ID号
UserName:表示Email地址
备注:Http请求,从成员网站域,向Passport域发送请求时,并不能访问到在Passport域中向客户端写的cookie值。现改成重定向的方式
重定向接口规范:
Passport提供的重定向地址:http://passport.david.cn/pass_ticket_exist.aspx
输入参数:Redirect 字符串 Passport重定向到成员网站的地址
AppID 字符串 成员网站ID号
回传参数:Ticket 字符串 验证票编号
PassID 字符串 会员ID号
UserName 字符串 会员名称
举例:
假设: Redirect= http://www.woall.com/Public/Login_State.aspx
AppID=1
Ticket=53D2FD484DC6FAD75E82
PassID=1234
UserName= david@gmail.com
则:则 成员网站重定向地址为:
http://passport.david.cn/pass_ticket_exist.aspx?AppID=1&Redirect=http://www.woall.com/Public/Login_State.aspx
Passport重定向地址为:
http://www.woall.com/Public/Login_State.aspx? Ticket=53D2FD484DC6FAD75E82&PassID=1234&UserName=david@gmail.com
登录框提交接口规范:成员网站输入Email和密码提交到Passport的地址。
提交到Passport的地址:http://passport.david.cn/pass_login.aspx
成员网站入口参数:Email 会员名
Pwd 会员密码
AppID 成员网站ID
Redirect Passport重定向地址
Passport回传参数: Ticket 字符串,cookie验证票加密串
PassID 字符串,会员ID号
UserName 字符串,会员名称(Email)
Flag 登录成功与否标识 2-成功(会员存在)3-失败(会员名不存在)4-密码不正确,5-数据库错误
举例:
假设:Passport重定向地址为http://www.woall.com/default.aspx
则,Passport服务器重定向到成员网站的地址是
http://www.woall.com/default.aspx?Ticket=53D2FD484DC6FAD75E82&PassID=1234&UserName=david@gmail.com&Flag=1
c.登出接口
重定向规范:
成员网站登出重定向地址:http://passport.david.cn/Public/logout.aspx
成员网站入口参数:AppID 字符串,成员网站ID号
Ticket 字符串,cookie验证票
Redirect 字符串,Passport重定向地址
Passport回传参数: Flag 字符串,1-表示成功从Passport登出;0-票不合法;-1-失败(数据库错误)
举例:
假设AppID=1;Redirect=http://www.woall.com/index.aspx
Ticket= 53D2FD484D
Flag=1
则,成员网站重定向到Passport的地址为
http://passport.david.cn/Public/logout.aspx?AppID=1&Ticket=53D2FD484D&Redirect=http://www.woall.com/index.aspx
Passport服务器重定向到成员网站的地址为:
http://www.woall.com/index.aspx?Flag=1
d.修改密码接口
重定向规范:
成员网站修改密码重定向地址:http://passport.david.cn/Public/pwd_mod.aspx
成员网站入口参数:AppID 字符串,成员网站ID号
Ticket 字符串,cookie验证票
Redirect 字符串,Passport重定向地址
Passport回传参数: Flag 字符串,1-成功;0-验证票不合法;-1-数据库错误
举例:
假设AppID=1;Redirect=http://www.woall.com/index.aspx
Ticket= 53D2FD484D
Flag=1
则,成员网站重定向到Passport的地址为
http://passport.david.cn/Public/pwd_mod.aspx?AppID=1&Ticket=53D2FD484D&Redirect=http://www.woall.com/index.aspx
Passport服务器重定向到成员网站的地址为:
http://www.woall.com/index.aspx?Flag=1
e.找回密码接口
重定向规范:
成员网站找回密码重定向地址:http://passport.david.cn/Public/getback_pwd.aspx
成员网站入口参数:AppID 字符串,成员网站ID号
Ticket 字符串,cookie验证票
Passport回传参数: Passport服务器发送密码激活地址(其中有验证票字符串)到会员邮箱,供激活密码。
激活地址:
http://passport.david.cn/pwd_awake.aspx?Ticket=53D2FD484D
举例:
假设AppID=1;Ticket= 53D2FD484D
则,成员网站重定向到Passport的地址为
http://passport.david.cn/getback_pwd.aspx?AppID=1&Ticket=53D2FD484D
3.8故障处理要求
列出可能的软件、硬件故障以及对各项性能而言所产生的后果和对故障处理的要求。
3.9其他专门要求
如用户单位对安全保密的要求,对使用方便的要求,对可维护性、可补充性、易读性、可靠性、运行环境可转换性的特殊要求等。
4、运行环境规定
4.1设备
列出运行该软件所需要的硬设备。
说明其中的新型设备及其专门功能,包括:
a.处理器型号及内存容量;
b.外存容量、联机或脱机,设备的型号及数量;
c.输入及输出设备的型号和数量,联机或脱机;
d.数据通信设备的型号和数量;
e. 功能键及其他专用硬件
4.2支持软件
暂时不采用第三方插件或其它软件。
4.3控制
说明控制该软件的运行的方法和控制信号,并说明这些控制信号的来源。
【总结】
按照系统的说明书,本人已经实现了该系统,并且实施过程的修改都作了说明。
平台环境:
1、win2003, IIS6.0, MS SQL 2000,VS.NET C# 1.1
2、wind2003,Apache2.2.4, MySql5.0, PHP5.1
重点:
验证票的生成,在各个网站所在的域中共享验证票,验证票的安全(3DES,数字签名,验证票时间戳)
【关键词】
单点登录系统, 单一登录系统, SSO系统, cookie验证票,IPO表, Visio,3DES加密,数字签名 MD5,Web Service
转载(海纳百川文章http://www.cnblogs.com/David-weihw/a)
本文是 单点登录系统(SSO)详细设计说明书(上篇)的续篇,为了更好地了解该系统请先阅读上篇
3.3输入输出要求
解释各输入输出数据的类型,并逐项对格式、数值范围、精度等作出准确定义。对软件的数据输出及必须标明的控制输出量进行解释并举例,包括对硬拷贝报告(正常结果输出、状态输出及异常输出)以及图形或显示报告的描述。
3.4 流程逻辑
<st1:chsdate w:st="on" isrocdate="False" year="1899" day="30" islunardate="False" month="12"> 3.4.1</st1:chsdate>注册流程图
<st1:chsdate w:st="on" isrocdate="False" year="1899" day="30" islunardate="False" month="12">3.4.2</st1:chsdate>会员登录流程图
<st1:chsdate w:st="on" isrocdate="False" year="1899" day="30" islunardate="False" month="12"> 3.4.3</st1:chsdate> 会员登出流程图
流程图使用Visio制作,浏览不方便。特别生产了HTML格式的文档,请从这里下载http://files.cnblogs.com/david-weihw/passport.rar,到本地查看。
休息一下进广告:
<st1:chsdate w:st="on" isrocdate="False" year="1899" day="30" islunardate="False" month="12"> 3.4.4</st1:chsdate> 会员修改密码流程图
<st1:chsdate w:st="on" isrocdate="False" year="1899" day="30" islunardate="False" month="12"> 3.4.5</st1:chsdate> 会员找回密码流程图
<st1:chsdate w:st="on" isrocdate="False" year="1899" day="30" islunardate="False" month="12"> 3.4.6</st1:chsdate> 成员网站间跳转流程
假设从成员网站A跳转到成员网站B,网站A提供网站B的入口链接即可。导航到网站B后,其流程与会员登录流程一样。
<script type="text/javascript"><!----></script><script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"> </script><iframe name="google_ads_frame" marginwidth="0" marginheight="0" src="http://pagead2.googlesyndication.com/pagead/ads?client=ca-pub-3677762604679039&amp;dt=1195810849072&amp;lmt=1195810849&amp;prev_fmts=728x90_as&amp;slot=1&amp;format=728x90_as&amp;output=html&amp;correlator=1195810849072&amp;channel=6912367067&amp;url=http%3A%2F%2Fwww.cnblogs.com%2FDavid-weihw%2Farchive%2F2007%2F01%2F29%2F633436.html&amp;ad_type=text_image&amp;ref=http%3A%2F%2Fwww.cnblogs.com%2FDavid-weihw%2Farchive%2F2007%2F01%2F25%2F630621.html&amp;cc=70&amp;ga_vid=157724224.1195809345&amp;ga_sid=1195809345&amp;ga_hid=349500103&amp;ga_fc=true&amp;flash=9&amp;u_h=864&amp;u_w=1152&amp;u_ah=830&amp;u_aw=1152&amp;u_cd=32&amp;u_tz=480&amp;u_his=1&amp;u_java=true" frameborder="0" width="728" scrolling="no" height="90" allowtransparency="allowtransparency"></iframe>
3.5对性能的规定
<st1:chsdate w:st="on" isrocdate="False" year="1899" day="30" islunardate="False" month="12">3.5.1</st1:chsdate>精度
<st1:chsdate w:st="on" isrocdate="False" year="1899" day="30" islunardate="False" month="12">3.5.2</st1:chsdate>灵活性
设计时需要充分考虑功能的扩展,使功能模块具有很强的灵活性。
灵活性因素:
a.操作方式上的变化;
b.运行环境的变化;
c.同其他软件的接口或其他软件对该模块的集成;
d.精度和有效时限的变化;
e.计划的变化或改进。
3.6 数据管理
<st1:chsdate w:st="on" isrocdate="False" year="1899" day="30" islunardate="False" month="12">3.6.1</st1:chsdate>数据管理能力要求
说明需要管理的文卷和记录的个数、表和文卷的大小规模,要按可预见的增长对数据及其分量的存储要求做出估算。比如,在数据库中设计中会员ID时,若采用自增型变量要估算会员的数量级,确定采用(int)数据类型,还(bigint)数据类型。
<st1:chsdate w:st="on" isrocdate="False" year="1899" day="30" islunardate="False" month="12">3.6.2</st1:chsdate>数据库设计(Passport服务器)
1).Pass_Member(会员表)
字段名称
数据类型
说明
备注
mPassID
Bigint
会员ID号
自增型,PK(主键)
mName
Nvarchar(64)
会员名
Email作为会员名(创建索引)
mPwd
Nvarchar(32)
会员密码
数据库中保存MD5运算的结果
mGBPwd
Nvarchar(32)
会员找回密码
会员找回密码时,生成的密码,会员激活后覆盖会员密码
mWake
Tinyint
会员唤醒
当和成员网站建立映射关系后,唤醒该会员
mMapWebsite
Nvarchar(128)
会员映射的成员站点
建立会员映射关系的成员网站串
mRegDT
Datetime
会员注册时间
mAreaCode
Nvarchar(8)
区域代号
mBack
Nvarchar(64)
预留字段
预留扩展
注意:成员网站的会员表,需要通过mPassID字段建立与Pass_Member表中会员的映射关系。
备注:<st1:chsdate w:st="on" isrocdate="False" year="1960" day="20" islunardate="False" month="11">60-11-20</st1:chsdate>添加两个字段(红色高亮)
2).Member_WebSite(成员网站表)
字段名称
数据类型
说明
备注
mWebID
int
成员网站ID编号
PK(主键)
mWebName
Nvarchar(32)
成员网站名称
mWebURL
Nvarchar(32)
成员网站URL
mWebIP
Nvarchar(16)
成员网站IP
mWebManager
Nvarchar(16)
成员网站管理员
成员网站故障时,便于维护
mWMTel
Nvarchar(16)
成员管理员电话
mBack
Nvarchar(64)
预留字段
预留扩展
3).Member_Ticket(会员票据表)
字段名称
数据类型
说明
备注
mTicketID
Nvarchar(240)
验证票编码
PK(主键)
mPassID
Bigint
会员ID号
FK(关联Pass_Member表mPassID)
issueDT
Datetime
票签发日期时间
availDT
datetime
票有效日期时间
digitalSign
Nvarchar(32)
票的数字签名
用于保证票的安全
mBack
Nvarchar(64)
预留字段
预留扩展
4).Member_SignRecord(会员登录记录表)
字段名称
数据类型
说明
备注
ID
Bigint
记录ID号
PK(主键)
mPassID
Bigint
会员ID号
FK(关联Pass_Member表mPassID)
signinDT
Datetime
登录日期时间
signinWebID
int
登录网站ID编号
FK(关联Member_WebSite表)
signoutDT
Datetime
登出日期时间
signoutWebID
int
登出网站ID编号
FK(关联Member_WebSite表)
mBack
Nvarchar(64)
预留字段
预留扩展
<st1:chsdate w:st="on" isrocdate="False" year="1899" day="30" islunardate="False" month="12">3.6.3</st1:chsdate>数据处理
创建作业
1、定时把验证票的记录导入的备份表中,供统计分析使用。
2、定时把一天以上没有激活的会员删除
3.7 Passport服务器与成员网站接口规范
<st1:chsdate w:st="on" isrocdate="False" year="1899" day="30" islunardate="False" month="12"><st1:chsdate w:st="on" isrocdate="False" year="1899" day="30" islunardate="False" month="12"> 3.7.1</st1:chsdate> P</st1:chsdate>assport服务器入口及调用接口
a.注册入口
重定向规范:
成员网站注册重定向地址:http://passport.david.cn/register.aspx
成员网站入口参数:AppID 成员网站ID号
Redirect Passport重定向地址
Passport回传参数: Ticket cookie验证票加密串
PassID 会员ID号
UserName 会员名称(Email)
举例:
假设AppID=1;Redirect=http://www.woall.com/index.aspx
Ticket= 53D2FD484DC6FAD75E82; UserName=david@gmail.com
PassID=1234
则 成员网站重定向地址为:
http://passport.david.cn/register.aspx?AppID=1&Redirect=http://www.woall.com/register.aspx
Passport重定向地址为:
http://www.woall.com/index.aspx?Ticket=53D2FD484DC6FAD75E82&PassID=1234&UserName=david@gmail.com
Web Service通信规范:
若用户从成员网站A重定向到Passport服务器注册会员时,Passport调用成员网站Web Service接口,建立Passport数据库与网站A数据库中会员的关联,关联字段为Pass_Member表中的mPassID。
Web Service名称: pass_user_related
所有者:成员网站
调用者:Passport服务器
输入参数:PassID:字符串,表示会员ID号
输出参数:Flag:布尔型,表示是否成功建立关联
b.登录接口
验证cookie票Web Service规范:成员网站本地域存在cookie验证票时,使用的接口。
Web Service名称:web_ticket_auth
所有者:Passport服务器
调用者:成员网站
输入参数:TicketCode 字符串 验证票字符串
AppID 字符串 成员网站ID
输出参数:Flag:布尔型,表示验证票是否合法
验证逻辑:只要数据库中存在该验证票,且在有效期内,即合法。
HTTP[本接口改为了重定向的方式,请参考下面的部分] 请求通信接口规范:成员网站域不存在cookie验证票,查看Passport域是否存在。
Passpport提供的URL:http://passport.david.cn/pass_ticket_exist.aspx
输入参数:无
输出参数:XML格式的文本(符合RSS2.0标准),XML包含节点
Flag:表示是否存在合法的验证票
Ticket:表示验证票字符串
PassID:表示会员ID号
UserName:表示Email地址
备注:Http请求,从成员网站域,向Passport域发送请求时,并不能访问到在Passport域中向客户端写的cookie值。现改成重定向的方式
重定向接口规范:
Passport提供的重定向地址:http://passport.david.cn/pass_ticket_exist.aspx
输入参数:Redirect 字符串 Passport重定向到成员网站的地址
AppID 字符串 成员网站ID号
回传参数:Ticket 字符串 验证票编号
PassID 字符串 会员ID号
UserName 字符串 会员名称
举例:
假设: Redirect= http://www.woall.com/Public/Login_State.aspx
AppID=1
Ticket=53D2FD484DC6FAD75E82
PassID=1234
UserName= david@gmail.com
则:则 成员网站重定向地址为:
http://passport.david.cn/pass_ticket_exist.aspx?AppID=1&Redirect=http://www.woall.com/Public/Login_State.aspx
Passport重定向地址为:
http://www.woall.com/Public/Login_State.aspx? Ticket=53D2FD484DC6FAD75E82&PassID=1234&UserName=david@gmail.com
登录框提交接口规范:成员网站输入Email和密码提交到Passport的地址。
提交到Passport的地址:http://passport.david.cn/pass_login.aspx
成员网站入口参数:Email 会员名
Pwd 会员密码
AppID 成员网站ID
Redirect Passport重定向地址
Passport回传参数: Ticket 字符串,cookie验证票加密串
PassID 字符串,会员ID号
UserName 字符串,会员名称(Email)
Flag 登录成功与否标识 2-成功(会员存在)3-失败(会员名不存在)4-密码不正确,5-数据库错误
举例:
假设:Passport重定向地址为http://www.woall.com/default.aspx
则,Passport服务器重定向到成员网站的地址是
http://www.woall.com/default.aspx?Ticket=53D2FD484DC6FAD75E82&PassID=1234&UserName=david@gmail.com&Flag=1
c.登出接口
重定向规范:
成员网站登出重定向地址:http://passport.david.cn/Public/logout.aspx
成员网站入口参数:AppID 字符串,成员网站ID号
Ticket 字符串,cookie验证票
Redirect 字符串,Passport重定向地址
Passport回传参数: Flag 字符串,1-表示成功从Passport登出;0-票不合法;-1-失败(数据库错误)
举例:
假设AppID=1;Redirect=http://www.woall.com/index.aspx
Ticket= 53D2FD484D
Flag=1
则,成员网站重定向到Passport的地址为
http://passport.david.cn/Public/logout.aspx?AppID=1&Ticket=53D2FD484D&Redirect=http://www.woall.com/index.aspx
Passport服务器重定向到成员网站的地址为:
http://www.woall.com/index.aspx?Flag=1
d.修改密码接口
重定向规范:
成员网站修改密码重定向地址:http://passport.david.cn/Public/pwd_mod.aspx
成员网站入口参数:AppID 字符串,成员网站ID号
Ticket 字符串,cookie验证票
Redirect 字符串,Passport重定向地址
Passport回传参数: Flag 字符串,1-成功;0-验证票不合法;-1-数据库错误
举例:
假设AppID=1;Redirect=http://www.woall.com/index.aspx
Ticket= 53D2FD484D
Flag=1
则,成员网站重定向到Passport的地址为
http://passport.david.cn/Public/pwd_mod.aspx?AppID=1&Ticket=53D2FD484D&Redirect=http://www.woall.com/index.aspx
Passport服务器重定向到成员网站的地址为:
http://www.woall.com/index.aspx?Flag=1
e.找回密码接口
重定向规范:
成员网站找回密码重定向地址:http://passport.david.cn/Public/getback_pwd.aspx
成员网站入口参数:AppID 字符串,成员网站ID号
Ticket 字符串,cookie验证票
Passport回传参数: Passport服务器发送密码激活地址(其中有验证票字符串)到会员邮箱,供激活密码。
激活地址:
http://passport.david.cn/pwd_awake.aspx?Ticket=53D2FD484D
举例:
假设AppID=1;Ticket= 53D2FD484D
则,成员网站重定向到Passport的地址为
http://passport.david.cn/getback_pwd.aspx?AppID=1&Ticket=53D2FD484D
3.8故障处理要求
列出可能的软件、硬件故障以及对各项性能而言所产生的后果和对故障处理的要求。
3.9其他专门要求
如用户单位对安全保密的要求,对使用方便的要求,对可维护性、可补充性、易读性、可靠性、运行环境可转换性的特殊要求等。
4、运行环境规定
4.1设备
列出运行该软件所需要的硬设备。
说明其中的新型设备及其专门功能,包括:
a.处理器型号及内存容量;
b.外存容量、联机或脱机,设备的型号及数量;
c.输入及输出设备的型号和数量,联机或脱机;
d.数据通信设备的型号和数量;
e. 功能键及其他专用硬件
4.2支持软件
暂时不采用第三方插件或其它软件。
4.3控制
说明控制该软件的运行的方法和控制信号,并说明这些控制信号的来源。
【总结】
按照系统的说明书,本人已经实现了该系统,并且实施过程的修改都作了说明。
平台环境:
1、win2003, IIS6.0, MS SQL 2000,VS.NET C# 1.1
2、wind2003,Apache2.2.4, MySql5.0, PHP5.1
重点:
验证票的生成,在各个网站所在的域中共享验证票,验证票的安全(3DES,数字签名,验证票时间戳)
【关键词】
单点登录系统, 单一登录系统, SSO系统, cookie验证票,IPO表, Visio,3DES加密,数字签名 MD5,Web Service
发表评论
-
sso 之 搜狐单点登陆实现方案
2013-09-11 23:42 1500http://blog.chinaunix.net/uid-2 ... -
淘宝如何跨域获取 Cookie 分析
2013-08-24 11:36 1214淘宝如何跨域获取 Cookie 分析 http://denge ... -
sso 入门
2013-07-08 00:53 929http://www.cnblogs.com/kingcucu ... -
SSO(单点登录)实现机制讲解
2013-07-08 00:49 1490http://blog.csdn.net/yan_dk/art ... -
sso 之 CAS 之 跨域 Ajax 登录实践
2013-07-07 02:01 0http://www.iteye.com/topic/1111 ... -
sso 之 新浪微博如何实现 SSO
2013-07-07 02:00 0http://www.iteye.com/topic/1039 ... -
sso 之 用CAS实现SSO----简单tomcat实例配置
2013-07-07 01:46 0http://mljavalife.iteye.com/blo ... -
SSO 之 (单点登录)实施中遇到的几个问题
2013-07-07 01:45 24978http://blog.csdn.net/yan_dk/art ... -
SSO单点登录解决方案
2013-07-07 01:01 1167http://www.blogjava.net/Jack200 ... -
ss0 之 cas改造随笔
2013-07-07 00:53 1145http://www.sparkfood.com/2010/0 ... -
java单点登录_设计一
2012-10-31 22:56 1023http://www.blogjava.net/ ...
相关推荐
本详细设计说明书的下篇将深入探讨SSO的核心原理、实现方式及具体的设计方案。 首先,SSO的关键在于共享用户认证信息。在描述中提到的流程图可能展示了用户从访问一个应用系统开始,通过SSO服务进行身份验证,然后...
单点登录系统 SSO 设计说明书 本文档旨在描述单点登录系统(SSO)的设计说明书,旨在提供一个完整、可行的解决方案,以满足集团网站的身份验证需求。单点登录系统的主要目标是提供一个统一的身份验证入口,实现成员...
本概要设计说明书主要针对SSO的实现进行详细阐述,旨在提高用户体验,简化企业内部或互联网平台的身份验证流程。 1. 引言 1.1 编写目的 SSO设计的主要目的是为了提高用户操作的便捷性和安全性,减少用户记忆多套...
SSO单点登录概要设计说明书的编写旨在为开发团队提供一个清晰、全面的设计蓝图,指导如何实现一个高效且安全的SSO系统。该文档旨在解决用户在多应用系统间频繁登录的不便,以及企业对用户权限集中管理的需求。 ...
### SSO平台接入规范详细说明 #### 一、SSO平台与DSMP平台的关系 SSO(Single Sign-On,单点登录)平台是用户归属地DSMP(Digital Subscriber Management Platform,数字用户管理平台)的一个重要组成部分。用户在...
SSO之CAS单点登录详细教程.docx
在“SSO之CAS单点登录详细教程.docx”文档中,你将找到关于部署步骤的详细说明。这可能包括以下几个关键环节: 1. **环境准备**:确保你有一个合适的运行环境,例如Java开发环境,因为CAS基于Java构建。你可能还...
SSO(Single Sign-On)单点登录是一种网络身份验证机制,允许用户在多个相互关联的应用系统之间共享登录状态,只需一次登录即可访问所有系统。在这个详细的CAS(Central Authentication ...祝你在SSO之旅上顺利!
《通用权限管理概要设计说明书》是一份详细阐述如何构建一个通用权限管理程序的重要文档,旨在为开发者提供一套全面的权限管理系统设计方案。该系统的核心目标是实现对不同业务系统中的用户权限进行有效管理和控制,...
(重要参考方案soa+sso)【PDF】门户_SSO系统-方案建议书概要.pdf
SSO之CAS单点登录实例演示
以下是对SSO简单实现的详细说明: 在实现SSO时,有多种方法可以选择: 1. **商业软件**:一些大型公司如 Netgrity(Siteminder)、Novell(iChain)、RSA(ClearTrust)等提供专门的SSO解决方案。这些软件通常具备...
在技术文档《单点登录(SSO)基础篇》中,会介绍SSO的核心概念、关键技术以及在同域与跨域环境下的实现方式。 首先,SSO体系结构通常包括以下几个关键组件: 1. 认证中心:负责处理用户的认证信息,并管理用户的...
SSO单点登录数据库设计,上一个文件忘记上传数据库设计。本次上传加上
SSO(单点登录)实战篇:客户端实现(1)1.Tomcat多应用部署的配置2.Maven项目的打包与发布3.客户端模块的主流程
该解决方案的设计流程图将会详细介绍 SSO 的实现机制、时序图、数据库设计、程序实现和修改、Cookie 和 Redis 的使用、相关 API 提供给其他业务的需要等方面的知识点。 设计流程图 SSO 单点登录解决方案的设计流程...