文档章节

单点登录实现思路

思维80
 思维80
发布于 2015/09/26 17:02
字数 779
阅读 508
收藏 6

精选30+云产品,助力企业轻松上云!>>>

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 , 进行登录验证


思维80
粉丝 8
博文 111
码字总数 42366
作品 0
西安
程序员
私信 提问
加载中
请先登录后再评论。
前后分离+单点登录的解决方案?有的提供个思路?

谁有前后分离+单点登录的解决方案?有的提供个思路? 目前我的项目是普通的springmvc+cas 实现单点登录,最近想实现前后分离,前端用vue.js或者angular.js,但如何实现单点登录功能一直没想到...

最后111
2018/01/12
2.3K
9
前后端分离基于Oauth2的SSO单点登录怎样做?

一、说明 单点登录顾名思义就是在多个应用系统中,只需要登录一次,就可以访问其他相互信任的应用系统,免除多次登录的烦恼;本文主要介绍跨域间的 项目怎样实现单点登录,并且与 的差异在那...

osc_7izxyaq6
04/16
5
0
前后端分离基于Oauth2的SSO单点登录怎样做?

一、说明 单点登录顾名思义就是在多个应用系统中,只需要登录一次,就可以访问其他相互信任的应用系统,免除多次登录的烦恼;本文主要介绍跨域间的 项目怎样实现单点登录,并且与 的差异在那...

zlt2000
03/17
296
0
sso单点登录遇到问题

使用spring+redis 实现 单点登录,sso服务部署在c 服务器 ,本地启动项目时可以实现单点登录(本地登录时 SESSION 值不会变),将项目部署到 a 服务器,访问 a 服务器上项目地址,跳到 c 服务...

只做你的小飞哥
2018/04/09
404
0
C#实现 单点登录(SSO)

SSO的基本概念 SSO英文全称Single Sign On(单点登录)。SSO是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。它包括可以将这次主要的登录映射到其他应用中用于同一...

盛开的雨季
2019/01/23
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Java知识点--卫语句

在《阿里巴巴Java开发手册》中强制规定:超过 3 层的 if-else 的逻辑判断代码可以使用卫语句、策略模式、状态模式等来实现,其中卫语句即代码逻辑先考虑失败、异常、中断、退出等直接返回的情...

HLee
27分钟前
9
0
实施与扩展:何时使用? 有什么不同? - Implements vs extends: When to use? What's the difference?

问题: 请用一种易于理解的语言或一些文章的链接进行解释。 解决方案: 参考一: https://stackoom.com/question/jTkh/实施与扩展-何时使用-有什么不同 参考二: https://oldbug.net/q/jTkh/...

技术盛宴
28分钟前
3
0
剑指offer之队列中的最大值(C++/Java双重实现)

1.题目描述 请定义一个队列并实现函数 max_value 得到队列里的最大值,要求函数max_value、push_back 和 pop_front 的均摊时间复杂度都是O(1)。 若队列为空,pop_front 和 max_value 需要返回...

osc_jvzgahav
30分钟前
5
0
JAVA-过滤器和拦截器1

1、过滤器 (Filter) 过滤器的配置比较简单,直接实现 Filter 接口即可,也可以通过 @WebFilter 注解实现对特定 URL 拦截,看到 Filter 接口中定义了三个方法。 init() :该方法在容器启动初始...

osc_hinb5m98
32分钟前
15
0
模拟红包算法(基于BigDecimal、DecimalFormat、Random类)

基于BigDecimal、DecimalFormat、Random实现模拟红包算法 RedPacket 类 import java.math.BigDecimal;import java.text.DecimalFormat;import java.util.ArrayList;import java.util.Rand......

osc_ml6lx2h4
33分钟前
10
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部