不同域名中的少数网站之间的常见会话

时间:2012-12-21 14:13:38

标签: web-services cookies authorization

我想制作一些web服务,所有这些服务都需要登录/通过授权。我想让它们全部同步(一次登录,一个密码到所有服务),但我也希望在它们之间共享会话。

如果用户登录服务A,并打开服务B,则会自动登录服务B上的同一帐户,如服务A中所示。

通常如何实施?

2 个答案:

答案 0 :(得分:1)

我会考虑使用数据库来支持会话。

您可以拥有一个包含关键会话信息的数据库记录。如果数据库支持BLOB字段,您甚至可以保存更复杂的会话数据。

该记录将具有Web服务请求将呈现的“cookie事物”,服务实现代码将采用该“cookie事物”并查看数据库表以查看最近是否正确发生了登录事件

(我说“cookie的事情”,因为如果它是一个web服务,它可能实际上不是一个浏览器进入)。

答案 1 :(得分:1)

这称为分布式会话,实现因网络服务器而异。

对于Tomcat:http://tomcat.apache.org/tomcat-6.0-doc/cluster-howto.html

对于WebSphere:http://pic.dhe.ibm.com/infocenter/wasinfo/v7r0/index.jsp?topic=%2Fcom.ibm.websphere.nd.iseries.doc%2Finfo%2Fiseriesnd%2Fae%2Fcprs_persistent_sessions.html

您还可以将持久变量存储在数据库中,这在您的情况下可能更容易。