单点登录系统(SSO)详细设计说明书(下篇) 收藏

3.3输入输出要求
解释各输入输出数据的类型,并逐项对格式、数值范围、精度等作出准确定义。对软件的数据输出及必须标明的控制输出量进行解释并举例,包括对硬拷贝报告(正常结果输出、状态输出及异常输出)以及图形或显示报告的描述。

3.4 流程逻辑
      3.4.1注册流程图

3.4.2会员登录流程图

3.4.3 会员登出流程图

3.4.4 会员修改密码流程图

3.4.5 会员找回密码流程图

3.4.6 成员网站间跳转流程

假设从成员网站A跳转到成员网站B,网站A提供网站B的入口链接即可。导航到网站B后,其流程与会员登录流程一样。        
           
         
    流程图使用Visio制作,浏览不方便。特别生产了HTML格式的文档,请从这里下载http://files.cnblogs.com/david-weihw/passport.rar,到本地查看。

3.5对性能的规定
3.5.1精度

3.5.2灵活性

设计时需要充分考虑功能的扩展,使功能模块具有很强的灵活性。

灵活性因素:

a.操作方式上的变化;

b.运行环境的变化;

c.同其他软件的接口或其他软件对该模块的集成;

d.精度和有效时限的变化;

e.计划的变化或改进。

3.6 数据管理
3.6.1数据管理能力要求

说明需要管理的文卷和记录的个数、表和文卷的大小规模,要按可预见的增长对数据及其分量的存储要求做出估算。比如,在数据库中设计中会员ID时,若采用自增型变量要估算会员的数量级,确定采用(int)数据类型,还(bigint)数据类型。

3.6.2数据库设计(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表中会员的映射关系。

备注:60-11-20添加两个字段(红色高亮)

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)
 预留字段
 预留扩展

3.6.3数据处理
       创建作业

1、定时把验证票的记录导入的备份表中,供统计分析使用。

2、定时把一天以上没有激活的会员删除

3.7 Passport服务器与成员网站接口规范
      3.7.1 Passport服务器入口及调用接口

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,数字签名,验证票时间戳)

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/YongJava/archive/2008/09/29/2994098.aspx

单点登录系统(SSO)详细设计说明书(下篇)相关推荐

  1. 单点登录系统SSO是如何实现的?

    原文在这里: 单点登录系统SSO是如何实现的? 所谓单点登录就是在A系统登录以后,跳转到B系统,此时可以直接访问B系统的资源,而不需要二次登录,目前这种需求已经非常普遍了,那么背后是怎么实现的呢?本文 ...

  2. java sso单点登录源码_Java单点登录系统 sso源码下载

    这是一个使用Java开发的单点登陆系统(sso). 运行截图 单点登陆介绍 单点登录,这就是我们通常称之为SSO.一般来说,大型系统平台将使用这些东西.它解决了频繁登录和验证的过程,即用户的一次登录被 ...

  3. 单点登录系统(SSO)和Session共享解释

    在企业发展初期,企业使用的系统很少,通常一个或者两个,每个系统都有自己的登录模块,运营人员每天用自己的账号登录,很方便. 但随着企业的发展,用到的系统随之增多,运营人员在操作不同的系统时,需要多次登录 ...

  4. 单点登录系统(SSO)的开发思路

    单点登录系统的类别:       就目前比较流行的应用来看,单点登录系统主要分为三种类型:一种是基于oauth协议的网络令牌(我是这么叫的),一种是基于Web Service或者简单Http协议实现的 ...

  5. 单点登录系统SSO概述 | 单点登录讲解(1)

    本项目主要讲解的是单点登录系统的原理及其实现. 本章主要讲解的是单点登录系统的概述部分. 单点登录 单点登录顾名思义就是从一个系统进行登录操作,就可以访问其他附近的系统.单点登录避免了用户重复的登录过 ...

  6. 单点登录系统(SSO)详细设计说明书

    1.引言 1.1编写目的 为了单点登录系统(SSO系统)的可行性,完整性,并能按照预期的设想实现该系统,特编写需求说明书. 同时,说明书也发挥与策划和设计人员更好地沟通的作用. 1.2背景 a.鉴于集 ...

  7. 09-微服务版单点登陆系统(SSO)实践

    目录 单点登陆系统简介 背景分析 单点登陆系统概述 单点登陆系统解决方案设计 单点登陆系统初步设计 服务设计 工程结构设计 SSO父工程创建及初始化 创建父工程 父工程pom文件初始配置 系统基础服务 ...

  8. 单点登录系统(流程简介)

    一.概述 单点登录系统SSO(Single Sign On)是在多个应用系统中,用户只需要登录一次就可以访问相互信任的其它系统 二.系统简介 流程: 1.用户访问应用一 2.应用一检查用户登录,如果用 ...

  9. codeigniter 禁止ip登录_「开源资讯」baigo SSO v4.0 beta-3 发布,单点登录系统

    来源:https://www.oschina.net/news/117020/baigo-sso-4-beta3-released 简介 baigo SSO 是一款基于 HTTP 协议的单点登录系统, ...

最新文章

  1. sulime text 3
  2. 湖北大学829数据库原理与c语言程序设计,2017年湖北大学教育学院829数据库原理与C语言程序设计考研强化模拟题...
  3. 父与子的编程之旅 python 3 pdf_《父与子的编程之旅》嵌套循环例题解析
  4. 康宁玻璃ct值计算公式_防眩光玻璃的硬度及强度
  5. 第十章 內核同步的方法
  6. 怎么样辨别穷人跟有钱人?
  7. mysql mysqld.log_MySQL mysqlbinlog 读取mysql-bin文件出错
  8. C#三层架构通用数据库访问类SQLHerper总结
  9. 【超图+CESIUM】【基础API使用示例】46、超图|CESIUM - 聚光源设置
  10. 点聚AIP电子签章在Chrome、Edge新内核、360系列、FireFox、IE、Opera等浏览器中实现网页内嵌效果案例(一)
  11. 课程设计(银行叫号机系统)
  12. 看虚幻引擎技术大神分享烧脑干货《克服VR眩晕之帧数:提升UE4内容实时渲染效率》(备忘)
  13. 虾扑 erp 神技能分析,shopee 卖家的得意助手
  14. python网络爬虫技术课后答案_尔雅《Python网络爬虫技术(2020年秋季学期)》网课答案...
  15. c语言程序实现进程的管道通信,C 进程间通信--命名管道通信代码实现及其原理图示...
  16. 联想r720安装固态_联想拯救者r720笔记本NVME接口M.2固态硬盘怎么安装win7系统
  17. 都说互联网很赚钱,真的?
  18. 【STM32】使用BRR与BSRR寄存器控制GPIO输出
  19. gdal库之ecw光栅图像支持
  20. 数字时代,互联网企业的组织形态

热门文章

  1. [软件需求工程]小爬虫
  2. 详细的AI学习路线 能为学者节省n年搜索时间(n=1)(本文由知名开源平台,AI 技术平台以及领域专家:Datawhale,ApacheCN,AI 有道和黄海广博士联合整理贡献)
  3. python-opencv第一期:imread函数详解
  4. 图形算法与实战:5.图像边缘羽化专题(1)滤波方法羽化
  5. pjlib之系统抽象函数使用
  6. win7 右键计算机无反映,查看Win7系统右键计算机属性未反应的处理方法
  7. C盘不够用了怎么办?如何把其他盘的空间给点C盘?
  8. linux下修改maven本地仓库repository地址
  9. 重磅:微信内置输入法来了!
  10. 九味羌活汤的理解---王幸福