单点登录实现思路

来源:互联网 发布:php留言板代码 编辑:程序博客网 时间:2024/06/11 12:44
单点登录实现思路


2015/9/22 22:35:50
通常 我们使用单点登录的场景   是多个应用 需要共享用户的基础信息和登录状态
 2015/9/22 22:37:07
多个应用  需要考虑到  这样几种情况   
1. 同一主域名
2. 跨域名 
 2015/9/22 22:41:17
我会分析单点登录的使用场景 , 场景的特性 , 实现的方法 , 遇到的问题 , 
 2015/9/22 22:42:29
用户在登录之后 , 我们会对他的登录状态进行记录
 2015/9/22 22:43:26
采集基础信息 (如 浏览器 , ip 访问时间) 并集合一些参数 (ticket 失效时间) , 根据相应的规则  生成ticket
这里的ticket  作为用户下次访问受保护的资源时的校验依据 (需要登录的url)
ticket 有什么特性
 2015/9/22 22:44:34
时效性  , 所以这里在持久化的时候,  可以不优先选择数据库 , 而选择缓存
这里是关于ticket的部分
2015/9/22 22:45:24
针对于ticket的校验
在用户访问每一个受保护的资源的时候  , 我们都需要校验他所携带的ticket
看ticket 是否有效 , 是否过期
 2015/9/22 22:46:23
校验 可以分为 客户端校验 , 和服务端校验两种方式
  23:07:13
这里将单点登录系统 , 拆分成 客户端 + 服务端 两部分 , 客户端以 jar 包的形式体现  , 服务端 以后端服务形式体现
  23:09:44
用户第一次登录的时候 , 生成ticket , 存入前端session (分布式用缓存),  后端进行持久化  
 23:10:44
将ticket  存入 cookie 
校验分为两种类型 (表单和异步请求 , get请求)
  23:12:31
get请求 , 可以通过客户端 的拦截器 依次比对 cookie - session    cookie 后端
异步请求 , 通过前端封装 js的sdk , 统一入口 , 依次比对cookie - session  cookie - 后端  中的ticket值
  23:14:10
get请求 , 对于需要登录的用户  可以进行页面跳转 , 并给出对应的回跳链接
异步请求 , 在当前访问页面 , 画出一个frame , 进行登录验证
  23:07:13
这里将单点登录系统 , 拆分成 客户端 + 服务端 两部分 , 客户端以 jar 包的形式体现  , 服务端 以后端服务形式体现
  23:09:44
用户第一次登录的时候 , 生成ticket , 存入前端session (分布式用缓存),  后端进行持久化  
  23:10:44
将ticket  存入 cookie 
校验分为两种类型 (表单和异步请求 , get请求)
  23:12:31
get请求 , 可以通过客户端 的拦截器 依次比对 cookie - session    cookie 后端
异步请求 , 通过前端封装 js的sdk , 统一入口 , 依次比对cookie - session  cookie - 后端  中的ticket值
  23:14:10
get请求 , 对于需要登录的用户  可以进行页面跳转 , 并给出对应的回跳链接
异步请求 , 在当前访问页面 , 画出一个frame , 进行登录验证

0 0
原创粉丝点击