SSO是(Single Sign On)简称,用户可以在一个相互信息的应用程序堆中,只登陆一次,就可以访问所有应用程序。举一个通俗的例子,作为“马云背后的女人”,大家都有这样的体验,登陆一次某宝,就可以在各种什么猫,什么划算上使用。这样就是单点登陆的好处,为用户提供了很多的方便而不用从某宝跳到某猫还得再登陆一次。。。
上面这个例子,很好的说明了单点登陆的原理。只要产生一个信任的东西,并且将信任存储起来,其他应用验证信任之后,然后其他应用程序也可以使用。如下图
最简单实现SSO的方法就是用Cookie,实现具体的流程流程如下所示:
图示解析:
单点登陆并不是一个单纯的技术,它也代表了一种思想,实现单点登陆的框架也有很多。例如.Net CAS、OpenSSO等。看着其他大牛的博客,写着写着,发现自己对于单点登陆的东西还需要深入研究,对于它的思想,以及不同的实现间的异同点。还有在何种情况下,使用哪一种实现,都是需要很多的实践才能做到的。。好好学习吧。。。
参考博客:
1、 https://wiki.jasig.org/display/CASUM/Introduction
2、 http://www.jasig.org/cas/protocol/
3、 http://www.ibm.com/developerworks/cn/opensource/os-cn-cas/index.html
4、 http://www.blogjava.net/security/archive/2006/10/02/sso_in_action.html
5、 http://baike.baidu.com/view/190743.htm
6、 http://www.cnblogs.com/gxbk629/p/4473569.html7、 http://www.oschina.net/project/tag/233/sso
8、http://blog.csdn.net/javachannel/article/details/752437