跨数据库同步persistence_token

时间:2011-01-12 16:29:54

标签: mysql ruby-on-rails authlogic sync

我试图找出如何跨服务器同步authlogic持久性令牌。

我有4台服务器,并且我在所有4台上都有很多应用程序,身份验证适用于一台服务器上的所有应用程序。如果我将持久性令牌从一个复制到另一个,我甚至可以让它们在不同的服务器上工作。

我能想到的唯一问题是用户可能登录到一台服务器而不是另一台服务器,但我仍然希望它们能够同步,以防它们转到其他服务器。例如:

Joe登录到服务器1

Joe也登录到服务器2

Jane只登录到服务器1

Fred只登录到服务器2

我需要从每个服务器进行双向同步。我不关心他们获得哪种持久性令牌,只要它们都是一样的。

在重要的情况下,这也使用LDAP进行身份验证。

我对任何建议持开放态度,包括非铁轨相关的东西。

修改

要更新此内容,我无法删除LDAP身份验证。我真的不想取代authlogic。我正在考虑使用rake任务或shell脚本来处理同步。

我完全可以提出自己的想法,只是想知道是否有人知道最好的方法。

谢谢大家的帮助。

1 个答案:

答案 0 :(得分:1)

您可能真的在寻找中央身份验证服务(CAS) - 这将启用单点登录(SSO)。

这使您可以登录到不同的服务。它会像

一样工作
  • 用户请求http://server1
  • server1检查用户是否针对本地存储进行了身份验证。如果不是:
  • server1将用户重定向到http://casserver?return=server1
  • 之类的内容
  • casserver实际上获取了用户名/密码或凭据,对其进行身份验证,并且:
  • casserver重定向到http://server1

然后:

这样,用户不会多次输入凭据。

OAuth就像这样(过度简化)

人们使用了java based CAS。一些帖子: