- 浏览: 217334 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
zhangwei412827_:
[flash=200,200][/flash]
js 关键字 in 的使用方法 -
flycatdeng:
.classpath文件在哪里?
AndEngine示例运行环境搭建过程 -
revol:
请问,你是如何调用LSMessage,并弹出窗口的?
Silverlight模拟MSN和QQ即时提示消息框
1、定义
单点登录系统提供所有成员网站的“单一登录”入口。
本系统的实质是含有身份验证状态的变量,在各个成员网站间共用 。
单点登录系统,包括认证服务器
(
称
Passport
服务器
)
,成员网站服务器。
会员:
用户通过
Passport
服务器注册成功后,就具有了会员身份。
单一登录:
会员第一次访问某个成员网站时,需要提供用户名与密码,一旦通过
Passport
服务器的身份验证,该会员在一定的时间内,访问任何成员网站都不需要再次登录。
Cookie验证票:
含有身份验证状态的变量。由Passport服务器生成,票含有用户名,签发日期时间,过期日期时间和用户其它数据。
2、目标
SSO 系统,是集团统一的 Passport , SSO 系统分两个阶段实施。
第一阶段对于新注册的用户提供单点登录的功能。
第二阶段,整合各个成员网站已有会员到单点登录系统中。
Passport
服务器作为各个成员网站的惟一身份验证入口,需要考虑其性能,扩展性,稳定性,安全性和维护成本。尤其要注意第二阶段的开发,做到统筹考虑。
3、规则
1) 注册:
a. 成员网站重定向到 Passport 服务器的注册页面,并且带有返回 URL 和成员网站 ID 。
b. 通过 Passport 注册页面创建会员后,保存会员验证票到数据库 和 passport 服务器所在域 cookie 中。同时,在成员网站 的数据库上创建与 Passport 服务器数据库中会员的映射关系。
c. 重定向到成员网站,填写会员个性信息。
d. 保存会员个性信息,并把重定向传入的验证票保存到本地 cookie 和创建 Session 状态变量。
2)登录:
a、 SSO 系统要实现各个成员网站的无缝结合,只要会员经过了认证服务器的登录验证( Passport 服务器),该会员访问其它任何的网站时,都不需要再次登录。
b、 会员在第一次登录时,Passport服务器验证身份之后,生成的cookie验证票,只需保存到Passport服务器所在域的cookie中,不能采用向每个成员网站所在的域中写cookie,防止响应时间太长,给会员带来不友好的浏览体验。
同时,把下发给会员的cookie票保存到Passport服务器的数据库中,方便验证方式和会员行为统计的扩展。
c、 会员一经通过身份验证,成功登录了某个成员网站 ( 假设为网站 A), 需要利用 Session 和 cookie 两种方式保存会员已经登录的状态。
d、 同一个浏览器进程中,会员在网站 A 的页面间跳转时,只需要根据 Session 中的状态变量加载登录框。不需要再与 Passport 服务器通信验证会员的身份。
e、 会员通过验证登录了网站 A, 若会员从网站 A 跳转或重新打开浏览器登录其它成员网站 ( 假设网站 B) ,都需要与 Passport 服务器通信验证会员的票。但是,这次验证不要 Passport 服务器与数据库中保存的验证票进行比较验证,只需要验证 Passport 服务器域中的 cookie 验证票据有效即可。
f、 对于验证 cookie 票,能够实现加密和数字签名保证 cookie 的机密性,完整性和不可抵赖性。
4、框架
系统结构图
层次结构图
IPO 图表
备注:红色高亮部分,表示修改的逻辑
模块名称:会员注册 |
使用者: Passport 服务器与各成员网站 |
|
输入部分 I |
处理描述 P |
输出部分 O |
1. 重定向到 Passport 服务器,带 有返回 URL 和成员网站 ID 2. 输入信息:邮箱、密码、区域(暂时没有使用验证码)。 3 3. 提交注册信息,发出注册请求。 4. 注册用户从邮件中获得验证码,利用验证号激活用户,此时用户将成为合法会员。 5. 会员个性信息(在成员网站填写) |
1. 邮箱是否可用的实时检查,及时提示邮箱是否可用(这里的可用仅仅是表示符合邮箱的规范,并且该邮箱没有被注册,不表示真正的可用)。 2. 密码安全级别实时提示。根据字符长度、含有字符的种类,计算安全级别,并实时提示用户。安全级别分为 : 太短,差,良,优四个等级。 3. 根据区域数据库,获得区域信息下拉框,结合会员区域 IP ,实现区域自动筛选,在允许的误差范围内不需手动选择区域。 4. 建立新会员 (1) 验证会员提交的注册信息,若合法,把用于激活帐号的验证码发送到会员测试使用的邮箱中。 (2) 会员使用验证码激活帐号,若激活成功,保存会员信息和会员验证票到数据库 (Passport 服务器数据库 ), 并且验证票也保存到 cookie 中。同时调用成员网站的 Web Service 接口,把刚才产生的 Passid 保存到成员网站数据库中(建立映射关系)。 (3) 重定向到成员网站。 (4) 成员网站接收数据,提示会员填写个性信息,并提交到成员网站服务器。 (5) 保存个性信息与接收的会员验证信息到成员网站数据库与 cookie 中,同时在 Session 中保存会员已验证的状态信息。 (5) 导航会员到某个页面。 |
1. Passort 服务器保存新会员信息和会员验证票到数据库中。 2. 成员网站 Web Service ,在成员网站数据库中添加会员信息,利用 Passid 建立与 Passport 服务器上会员的映射关系,并返回操作成功或失败状态信息。 3. 修改成员网站数据库中会员的个性信息。 4. 保存会员验证票到 cookie 中,同时保存会员通过验证的状态到 Session 中。 |
发表评论
-
实现java bean的懒加载
2016-09-29 13:25 2047hibernate的lazy懒加载: ... -
如何用Maven创建web项目(具体步骤)
2016-08-22 12:22 683使用eclipse插件创建一个web project ... -
JVM参数测试情况
2016-07-05 10:58 760JVM包括如下核心组 ... -
国内maven仓库
2016-06-27 09:20 1845记录下,国内好用的maven仓库,oschina提供的:ht ... -
各种 Comet 技术优缺点对比
2015-12-15 09:16 492script tag iframe a ... -
Web 通信 之 长连接、长轮询(long polling)
2015-12-15 09:09 980Web 通信 之 长连接、长轮询(long polling ... -
计算本周第一天
2014-01-13 09:38 633网上有很多计算本周第一天的代码,但是大多数都不太全面。 ... -
Java中的transient,volatile和strictfp关键字
2013-09-01 09:57 8071、transient 如果用transien ... -
设计模式之策略模式
2013-08-25 22:05 782策略(Strategy)模式: 策略模式的用 ... -
设计模式之工厂模式(2)
2013-08-21 22:30 7671、定义 多个工厂模式:工厂类中定义多个方法, ... -
设计模式之简单工厂模式
2013-08-21 21:33 8951、定义 简单工厂模式:一个创建产品对象 ... -
Class.isAssignableFrom(Class clz)方法 与 instanceof 关键字的区别
2013-08-19 22:53 858Class.isAssignableFrom()是用来判断一 ... -
Java多线程之教程
2013-08-18 22:11 821《Java并发编程实践》是非常详细阐述了Java多线程开发 ... -
Mina 之 入门篇(1)
2013-08-17 23:36 3963最近自己在工作之余做一个金融类的项目(类似股票),采用min ... -
Mina 之 Mina的异步机制
2013-08-17 21:05 3480将mina异步机制之前,先了解下同步和异步的区别: (1 ... -
图文教程vs2008+eclipse开始jni教程实例(一)
2013-08-06 09:52 10411、在eclipse中新建一个testJni的工程,新建一个 ... -
浅析 Java Thread.join()
2013-07-29 09:26 1021一、在研究join的用法之前,先明确两件事情。 1.jo ... -
正确理解ThreadLocal
2012-11-26 13:59 643首先,ThreadLocal 不是用来解决共享对象的多线程访问 ... -
java并发编程不得不知道的几件事
2012-11-26 13:35 860多线程编程从来都是一件比较困难的事情,调试多线程程序也相当困难 ... -
HashMap和ConcurrentHashMap的对比
2012-11-26 13:19 1775(1) 简单 put ...
相关推荐
宁盾单点登录(SSO)与致远A8对接方案.pdf宁盾单点登录(SSO)与致远A8对接方案.pdf宁盾单点登录(SSO)与致远A8对接方案.pdf宁盾单点登录(SSO)与致远A8对接方案.pdf宁盾单点登录(SSO)与致远A8对接方案.pdf宁盾单点登录...
单点登录SSO解决方案之SpringSecurity+JWT实现.docx
sso单点登录ppt.ppt
单点登录 SSO单点登录 SSO单点登录 SSO单点登录 SSO
单点登录SSO的参考资料
单点登录系统(SSO)详细设计说明书
single sign on(sso)单点登录(Single Sign On),简称为 SSO,是目前比较流行的企业业务整合的解决方案之一。SSO的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统
SSO单点登录
SSO文档 单点登录
单点登录,SSO,cookie,实现了单点登录的一个好的文档,我也是现在的,希望大家可以共享
讲述单点登录(SSO)常见的技术实现原理
sso单点登录源代码sso单点登录源代码sso单点登录源代码sso单点登录源代码sso单点登录源代码
单点登录SSO,里面包括客户端和服务端,
JEECG BPM 单点登录说明文档(kisso集成),已经在项目中使用。
因为公司要实现SSO单点登录的效果,最近在网上找了一些资料,但是都没有好用的, 所以自己用PHP 使用TP5.0 实现了SSO单点登录,可以跨多个域名。 下载后在本地配置好 A,B,C 3个网站,就可以模拟效果了。
本系列将由浅入深的带大家深入最新的单点登录SSO方案选型与架构开发实战。附动画演示。 从业十多年,为政府、电信、跨国公司顾问和实施的单点登录解决方案无数,深谙其痛点与关键。 大部分单点登录方案,从产品方案...
sso单点登录sso单点登录sso单点登录sso单点登录
跨服务器登录验证(单点登录SSO)过程和Java实现
Asp.net 单点登录SSO截HttpModel方法;决对实用好用的源码。 网上有很多sso,多数都是共享cookie,而这个是用在同一个iis下,截取httpmodel,修改User.Identity,记录它为用户信息可以到处用。 当然你也可修改扩展。。...