文档章节

单点登录实现思路

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

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
01/12
777
9
sso单点登录遇到问题

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

只做你的小飞哥
04/09
218
0
CAS单点登录session共享问题,求教大牛指点!

原本项目A,使用的是ssh, 访问项目A时会自动判断是否登陆,如果没有进入登录页面,如果登陆则进入首页面 现在需要多项目共享登陆信息,所以使用单点登录, 对这一块不是特别熟悉所以请教大牛...

工作流流流流流
05/15
1K
3
phpcas 整合 ecms的问题

ecms是很多建站的开源cms选择之一,最近甲方提出一个额外需求是对接CAS框架实现SSO(单点登录) 关于单点登录原理,下面这篇博文是我见过,简介非常精简细致 单点登录原理分析 当下我的进度是...

南船座
08/01
0
0
cookie+memcached实现单点登陆

10年的时候在iteye的第一篇文章记录了一下当时怎么实现我们系统的单点登陆。不过那个时候文章写的不好,思路也很浮躁,很难看懂,在csdn的第一篇技术博客打算重新温顾一下当时实现单点登陆的...

吞吞吐吐的
2017/10/18
0
0

没有更多内容

加载失败,请刷新页面

加载更多

PHP生成CSV之内部换行

当我们使用PHP将采集到的文件内容保存到csv文件时,往往需要将采集内容进行二次过滤处理才能得到需要的内容。比如网页中的换行符,空格符等等。 对于空格等处理起来都比较简单,这里我们单独...

豆花饭烧土豆
今天
2
0
使用 mjml 生成 thymeleaf 邮件框架模板

发邮件算是系统开发的一个基本需求了,不过搞邮件模板实在是件恶心事,估计搞过的同仁都有体会。 得支持多种客户端 支持响应式 疼彻心扉的 outlook 多数客户端只支持 inline 形式的 css 布局...

郁也风
今天
8
0
让哲学照亮我们的人生——读《医务工作者需要学点哲学》有感2600字

让哲学照亮我们的人生——读《医务工作者需要学点哲学》有感2600字: 作者:孙冬梅;以前读韩国前总统朴槿惠的著作《绝望锻炼了我》时,里面有一句话令我印象深刻,她说“在我最困难的时期,...

原创小博客
今天
5
0
JAVA-四元数类

public class Quaternion { private final double x0, x1, x2, x3; // 四元数构造函数 public Quaternion(double x0, double x1, double x2, double x3) { this.x0 = ......

Pulsar-V
今天
20
0
Xshell利用Xftp传输文件,使用pure-ftpd搭建ftp服务

Xftp传输文件 如果已经通过Xshell登录到服务器,此时可以使用快捷键ctrl+alt+f 打开Xftp并展示Xshell当前的目录,之后直接拖拽传输文件即可。 pure-ftpd搭建ftp服务 pure-ftpd要比vsftp简单,...

野雪球
今天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部