单点登录SSO的实现原理
来源:互联网 发布:淘宝卖家怎么屏蔽差评 编辑:程序博客网 时间:2024/06/08 12:32
单点登录SSO(Single Sign On)说得简单点就是在一个多系统共存的环境下,用户在一处登录后,就不用在其他系统中登录,也就是用户的一次登录能得到其他所有系统的信任。单点登录在大型网站里使用得非常频繁,例如像阿里巴巴这样的网站,在网站的背后是成百上千的子系统,用户一次操作或交易可能涉及到几十个子系统的协作,如果每个子系统都需要用户认证,不仅用户会疯掉,各子系统也会为这种重复认证授权的逻辑搞疯掉。实现单点登录说到底就是要解决如何产生和存储那个信任,再就是其他系统如何验证这个信任的有效性,因此要点也就以下几个:
存储信任
验证信任
只要解决了以上的问题,达到了开头讲得效果就可以说是SSO。最简单实现SSO的方法就是用Cookie,实现流程如下所示:
不然发现以上的方案是把信任存储在客户端的Cookie里,这种方法虽然实现方便但立马会让人质疑两个问题:
- Cookie不安全
- 不能跨域免登
对于第一个问题一般都是通过加密Cookie来处理,第二个问题是硬伤,其实这种方案的思路的就是要把这个信任关系存储在客户端,要实现这个也不一定只能用Cookie,用flash也能解决,flash的Shared Object API就提供了存储能力。
一般说来,大型系统会采取在服务端存储信任关系的做法,实现流程如下所示:
以上方案就是要把信任关系存储在单独的SSO系统(暂且这么称呼它)里,说起来只是简单地从客户端移到了服务端,但其中几个问题需要重点解决:
- 如何高效存储大量临时性的信任数据
- 如何防止信息传递过程被篡改
- 如何让SSO系统信任登录系统和免登系统
以上只是提供了些简单的实现技术,但需要强调的是这只是技术实现而已,仅仅是为了解决上面谈到的一些问题,SSO本身来说并不是什么高科技,有了这个认识比较有利于我们深入探索SSO
阅读全文
0 0
- 单点登录SSO的实现原理
- 单点登录SSO的实现原理
- 单点登录SSO的实现原理
- 单点登录SSO的实现原理
- 单点登录SSO的实现原理
- 转载 -- 单点登录SSO的实现原理
- 单点登录SSO的实现原理
- 单点登录SSO的实现原理
- 单点登录SSO的实现原理
- 单点登录SSO的实现原理
- 单点登录SSO的实现原理
- 单点登录SSO的实现原理
- 单点登录SSO的实现原理
- 单点登录SSO的实现原理
- 单点登录SSO的实现原理
- 单点登录SSO的实现原理
- 单点登录SSO的实现原理
- 单点登录SSO的实现原理
- PHP原生代码导出EXCEL功能
- Android数据格式解析对象JSON用法
- 关于JavaScript知识的个人总结
- codeforces600E Lomsat gelral -- 树上启发式合并
- 递归删除资源树 Ztree
- 单点登录SSO的实现原理
- 关于在Struts2中ActionContext是何时创建的
- 第一个只出现一次的字符
- 最短路径-Dijkstra算法
- 《android studio学习笔记》之“查看密码按钮的EditText”
- 学习笔记7.10前
- AndroidManifest.xml设定activity的Theme.Dialog时程序出错的解决办法
- 网络传输的2中方式和重定向 转发的区别
- Python之列表生成式 生成器 异步I/O模型epoll 递归函数 函数式编程的定义 高阶函数