SSO是门户的基础,我们公司现在正在筹备这方面的项目
原本是打算自己做,后来和BEA和SUN做过技术交流以后,决定用SUN的SUN ONE SERVER来做
其实SSO的基本原理很简单,我们在考虑自己实现的时候,遇到一些技术难题,后来和BEA、SUN做过交流后才证实了我们的一些想法:
SSO最简单,最直接的实现方法是基于COOKIE,性能最高
基于COOKIE最大的难点在于跨域
SSO的核心在于统一用户认证,而这个从实现层面上就可以看作一个认证服务器,也真是SUN公司所推崇的IDENTITY SERVER,所以的登录、认证请求都在这里完成,然后分发到相应应用
而他们解决COOKIE跨域的方法也是基于这个IDENTITY SERVER的,用户登陆后可以在各个他所访问的域内写COOKIE,而这些COOKIE都是IDENTITY SERVER所可以认证的,由此做到松散的集群制。
如果大家有兴趣自己实现,也可以基于这个实现,无非是在COOKIE中建立只有自己的IDENTITY SERVER可认证的串,通过重定向方式到IDENTITY SERVER验证,然后返回认证结果,操作功能,由于COOKIE内容的一致性致使跨域成为可能
当然SUN所做的远比我说说的复杂,比如每个认证的域都需安装它所提供的认证软件等等,不过基本实现就是这样的
SSO现在是做企业应用的基础,大的运营商在理性化建设的基础上都想整合原有应用,所以门户是他们最关心的,而SSO是第一步
希望大家批评指正