mysql - 跨数据库同步 persistence_token

标签 mysql ruby-on-rails authlogic synchronization

我正在尝试弄清楚如何跨服务器同步 authlogic 持久性 token 。

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

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

Joe 登录服务器 1

Joe 也登录到服务器 2

Jane 只登录服务器 1

Fred 只登录服务器 2

我需要从每个服务器进行双向同步。我不在乎他们获得哪个持久性 token ,只要它们都相同即可。

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

我几乎愿意接受任何建议,包括与非 Rails 相关的内容。

编辑

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

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

感谢大家的帮助。

最佳答案

您可能确实在寻找中央身份验证服务 (CAS)——能够启用单点登录 (SSO) 的服务。

这使您能够登录到不同的服务。它会像这样工作

  • 用户请求 http://server1
  • server1 检查用户是否通过本地存储的身份验证。如果没有:
  • server1 将用户重定向到类似 http://casserver?return=server1 的内容
  • casserver 实际上获取用户名/密码或凭据,对它们进行身份验证,并且:
  • casserver 重定向至 http://server1

然后:

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

OAuth 的工作原理如下(过于简化)

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

关于mysql - 跨数据库同步 persistence_token,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4671209/

相关文章:

具有保证数据集的 Mysql GROUP BY

mysql - Python3 从 MySQL 比较中提取日期无法正常工作

mysql - ROR协会|未定义方法 `map' 对于 nil :NilClass

javascript - 添加 animate.css 类,然后使用 remove 删除元素

ruby-on-rails - 阻止 Authlogic 为非 HTML 请求建立 session /cookie

MySQL 使用 GROUP BY 语句返回更少的行

php - Mysql- 查询项目仅在层次结构中达到第 2 级

ruby-on-rails - 缓存资源耗尽 Imagemagick

ruby-on-rails - 简单的 Authlogic 问题 : JSON login?

testing - rspec 没有收到保存方法