- 浏览: 958824 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (189)
- 方案流程图及架构 (5)
- j2ee (5)
- ajax (2)
- oracle (1)
- pl/sql (0)
- designpattern (0)
- searchengine (2)
- mysql (28)
- sso (3)
- jvm (3)
- uml (0)
- oo (1)
- dboptimize (3)
- web2.0 (2)
- unix/linux (1)
- hadoop (4)
- mahout (0)
- android (2)
- html5 (0)
- solr (0)
- 分词 (0)
- 机器学习 (0)
- 育儿 (2)
- linux (5)
- im (1)
- hive (1)
- nginx (1)
- mysql复合索引的使用场景 (0)
- hadoop搭建报错 (1)
- qps (1)
- 架构 (1)
- nosql (1)
- 推荐引擎 (5)
- 云存储 (1)
- 职业生涯 (1)
- 破解 instsall4j (1)
- 数字教育 微课程 (1)
- khan 可汗学院 (1)
- socket (2)
- 消息队列 (0)
- java (0)
- 视频流媒体 (1)
- memcache (1)
- 开源 (1)
- reactor (1)
- spi (1)
- 持续构建 ci (1)
- zookeeper (3)
- tomcat (1)
- mycat (1)
- mysql mycat sysbench (1)
- mycat mysql (1)
- svn (1)
- id发号器 (1)
- 多机房 (2)
- 分布式事务 (3)
- 电商 (1)
- 库存 (1)
最新评论
-
baichoufei90:
hadoop权威指南说ZK的zab协议不是用的paxos算法。 ...
zookeeper原理(转) -
shin1355:
看了一小部分,看不下去了,
zookeeper原理(转) -
b_l_east:
表示没看懂楼主关于选举算法的描述,顿时没了读下去的兴致
zookeeper原理(转) -
prince4426:
好前沿的技术呀
hive选型讨论 -
zk519720303:
zookeeper原理(转)
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
- passport.rar (307 KB)
- 描述: 流程图
- 下载次数: 76
相关推荐
centos7.0 sso下载地址:http://isoredirect.centos.org/centos/7/isos/x86_64/CentOS-7-x86_64-Everything-1804.iso 方案二: centos7.0已经做好的镜像(包含图形化): 链接:...
单点登录(Single Sign-On,简称SSO)是一种常见的身份管理技术,它允许用户通过一次登录即可访问多个应用系统,无需在不同的应用系统之间重复登录。这种机制极大地提高了用户体验,并且在一定程度上增强了系统的...
CAS SSO 单点登录记录 作者:刘仁奎 个人网址 程序喵:http://www.ibloger.net / http://www.chengxumiao.net 程序员购书导航指南:http://books.chengxumiao.net QQ:1056856191 GitHub地址:...
"Screen saver killer.exe"是描述中的关键内容,它是一种程序,设计用来防止屏幕保护在特定条件下启动。这通常是为了保持用户的会话活跃,特别是在无人看管的系统上,例如在共享的工作站或者需要持续运行的应用场景...
AliOSS & Qiniu & QcloudCOS | 云存储 | [https://www.aliyun.com/product/oss/](https://www.aliyun.com/product/oss/) [http://www.qiniu.com/](http://www.qiniu.com/) [https://www.qcloud.com/product/cos]...
Herottps: //github.com/wang926454/VueStudy/tree/master/VueStudy08-JWT问题#14 重复请求会不会生成多个token#19 跨域sso问题#29 Token刷新并发处理有疑问请扫码加QQ群交流779168604项目相关Java文档...
统一身份认证-CAS配置实现 SSO单点登录Spring-Security+&+CAS+使用手册 统一身份认证-CAS配置实现 CAS登录验证(密码MD5、SHA加密后_再进行Base64加密实现代码)_与Liferay的用户身份验证对应
在这个场景下,你需要登录票根网并模拟用户行为,例如获取发票列表、下载发票等。这可能涉及设置cookies、session和header,以便服务器识别你的身份和会话状态。 接下来,文件I/O操作是保存和读取发票数据的重要...
### 淘淘商城单点登录(SSO)接口解析 #### 一、概述 随着互联网技术的发展,用户体验逐渐成为衡量一个网站或应用成功与否的重要标准之一。为了提高用户体验,简化用户的登录过程,单点登录(Single Sign-On,简称...
"incuna-auth-7.4.0.tar.gz"是PyPI上发布的一个Python库的压缩文件,其版本号为7.4.0,我们来详细了解一下这个库及其使用方法。 "incuna-auth"是一个专门针对身份验证和授权的Python库,由Incuna公司开发并维护。这...
- 进入部署CAS服务端的Tomcat的`conf`目录下,编辑`service.xml`文件,主要配置如下: ```xml <Connector port="80" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" URIEncoding="gbk"/> ...
单点登录示例代码simple-sso-master,包括单点登录服务端、单点登录客户端、两个业务子系统a\b,请结合博客学习:https://www.cnblogs.com/cac2020/p/13716521.html
在B2B环境下,Java的使用通常与构建中间件、数据库交互、Web服务、安全机制和数据交换格式等有关。 首先,Java字符串不可变性是一个需要深入理解的知识点。在Java中,字符串(String)是不可变的,这意味着一旦一个...
4. **MySQL**(5.6.10):数据库服务器,详细步骤可在 https://www.cnblogs.com/liuyangfirst/p/15997667.html 找到。 5. **Redis**(5.0.10):内存数据存储,具体配置可参考 ...
String params = "entry=sso&gateway=1&from=null&savestate=30&useticket=0&pagerefer;=&vsnf=1&su;=" + base64name; params += "&service=sso&sp;=" + password + "&sr=1920*1080&encoding=UTF-8&cdult=3&domain...
PHPCMS X 的重点是保留所有官方原版程序中各功能不变的基础上,进行了全面的安全漏洞修补、BUG修正、和部分代码的优化完善,使其能更安全稳定的运行于当前大部分服务器环境下; 同时我们提供长期持续稳定的程序更新...
1、配置本地hosts 127.0.0.1 sso-login 127.0.0.1 sso-resource ...2、先后启动SsoServer、sso-resource、sso-client1、sso-client2 3、访问http://sso-taobao:8083/client1/ 或 http://sso-tmall:8084/client2/
金蝶EAS portal单点登录到SHR文档提供了详细的实施指南,指导开发者和实施人员快速实现s-HR单点登录集成。 1.1 什么是单点登录? 单点登录是指用户只需要输入一次用户名和密码,即可访问多个相关的应用系统,而不...