您的位置:首页 > 其它

单点登录实现思路

2015-09-26 16:59 483 查看
单点登录实现思路

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 , 进行登录验证
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: