标签:style blog color io 使用 strong 文件 数据 问题
下面是在一个论坛里看到的提问:
在这里打个比方,一个大型网站,它有自己的blog系统,也有自己的bbs,也有自己的书签功能等等。
在开发的时候,肯定不是建立一个Web项目然后完成后部署的。我想应该是先做blog,又做bbs等,然后这些作为独立的程序跑在不同服务器上。
这里,就有个问题我想不明白,难道一定要做单点登录才能对这些应用程序进行统一的身份认证?没有其他办法?
如果登录后,每个系统都需要session里面的数据,又怎么进行传递?
还有,这个程序之间如果想通讯,又是利用的什么方式?
============================解决方案:==================================
其实最简单的办法就是使用客户端cookie,没有cookie的就只能让他重新再输入一次。
1.1.接收A系统传输的加密后的(username和password等数据组成的)字符串,
登陆服务器验证成功后返回一个加密后(包含username、password、登录验证的有效time)的数据字符串;
1.2.A系统接收到登陆服务器的加密字符串后写到用户Cookie (第一次Cookie为空就在request中放一份),并且设置Cookie的maxAge=-1
以后每次带过来的Cookie,都从中获得加密字符串发送到登录服务器进行验证;
1.3.登陆服务器接收到自己加密的字符串,先判断有效time(相当于检查session过期),验证通过后再重新生成一个加密串(新的time);
另: 借鉴 京东,淘宝:
当第一次登录成功后,可异步通过 jsonp方式,跨域设置相关业务站点(顶级域名)的凭证信息保存在Cookie中,子域共享该Cookie。
跳转的时候,通过浏览器自动获取到Cookie。
同步或异步,同步有RMI、hessian、Webservice;
异步有JMS等。
SOA是一个大的根本解决方案。
比如坏人copy了别人的Cookie文件。
标签:style blog color io 使用 strong 文件 数据 问题
原文地址:http://www.cnblogs.com/muzhongjiang/p/3961268.html