SSO(SingleSign On)是流行的业务整合解决方案之一。SSO的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。
分布部署时,有多个tomcat,假设用户从tomcat1登录,那它的登录信息是记录在tomcat1上的。如果用户请求业务,有可能就被分发到tomcat2上,这时tomcat2上并未登录,这时应该如何处理呢?我们要做到,不管用户在哪个tomcat上登录。
从分析京东网站我们也可以看出来,它是由多个系统构成。首页京东(JD.COM)-正品低价、品质保障、配送及时、轻松购物!,搜索http://search.jd.com,详情京东(JD.COM)-正品低价、品质保障、配送及时、轻松购物!,频道http://channel.jd.com等等。
D:\>ping www.jd.com
正在 Ping www.jdcdn.com [124.192.136.142] 具有 32 字节的数据:
D:\>ping search.jd.com
正在 Ping s.gslb.jdcache.com [58.83.212.160] 具有 32 字节的数据:
D:\>ping item.jd.com
正在 Ping www.jdcdn.com [124.192.136.141] 具有 32 字节的数据:
D:\>ping channel.jd.com
正在 Ping www.jdcdn.com [124.192.136.142] 具有 32 字节的数据:
可以看到它对应的不同的主机(IP地址不同)。说明它通过很多服务器提供服务。
我们就要实现一个地方登录,其它地方无需再次登录。