单点登录基本原理详述
来源:互联网 发布:35互联域名转出 编辑:程序博客网 时间:2024/06/04 19:21
单点登录SSO(Single Sign On)说得简单点就是在一个多系统共存的环境下,用户在一处登录后,就不用在其他系统中登录,也就是用户的一次登录能得到其他所有系统的信任。
1 最简单实现SSO的方法就是用Cookie,实现流程如下所示:
发现以上的方案是把信任存储在客户端的Cookie里,这种方法虽然实现方便但立马会让人质疑两个问题:
- Cookie不安全
- 不能跨域免登
以上方式只限于同域名的单点登录。
2 不同域名不同系统间的单点登录,一就需要引入票据、token的概念了。
ticket:
token:
以上方案就是要把信任关系存储在单独的SSO系统(暂且这么称呼它)里,说起来只是简单地从客户端移到了服务端,但其中几个问题需要重点解决:
- 如何高效存储大量临时性的信任数据
- 如何防止信息传递过程被篡改
- 如何让SSO系统信任登录系统和免登系统
对于第一个问题,一般可以采用类似与memcached的分布式缓存的方案,既能提供可扩展数据量的机制,也能提供高效访问。对于第二个问题,一般采取数字签名的方法,要么通过数字证书签名,要么通过像md5的方式,这就需要SSO系统返回免登URL的时候对需验证的参数进行md5加密,并带上 token一起返回,最后需免登的系统进行验证信任关系的时候,需把这个token传给SSO系统,SSO系统通过对token的验证就可以辨别信息是否被改过。对于最后一个问题,可以通过白名单来处理,说简单点只有在白名单上的系统才能请求生产信任关系,同理只有在白名单上的系统才能被免登录。
另外卖弄下我们公司设计的sso系统,供大家拍砖,哈哈!
- 单点登录基本原理详述
- cas系列(一)--cas单点登录基本原理
- 单点登录(SSO)的实现—通行证的基本原理
- 单点登录(SSO)的实现---通行证的基本原理
- 单点登录(SSO)的实现---通行证的基本原理
- 单点登录(SSO)的实现—通行证的基本原理
- 单点登录(SSO)的实现—通行证的基本原理
- 单点登录(SSO)的实现—通行证的基本原理
- 详述 Kafka 基本原理
- 使用WIF实现单点登录Part II —— Windows Identity Foundation基本原理
- 单点登录
- 单点登录
- 单点登录
- 单点登录
- 单点登录
- 单点登录
- 单点登录
- 单点登录
- STL源码剖析---deque
- ARM指令和Thumb指令的区别
- UC数据显示Android安全严峻形势
- 检查应用程序是否存在已在运行的实例
- GPIO pins define
- 单点登录基本原理详述
- 最短过桥时间
- 推荐ExtJS4值得阅读的文章
- enigma学习总结-Basic Missions篇
- STL之vector的用法
- 深入掌握JMS(一)
- 泰晤士河——英国著名的“母亲”河
- Delphi操作EXCEL复制Sheet到另一个XLS文件中
- 10个有用的排版技巧提升你网站的可读性