使用不同应用程序的单一登录在轨道上接近ruby

在以下情况下最好的方法是什么:

  • 处理用户身份validation的主要应用程序(最好是Devise)。
  • 几个不同的应用程序,可以访问用户数据库进行单一登录。
  • 用户数据同步(首选项,配置文件数据)

场景示例:

  • 用户注册申请A.
  • 用户可以使用相同的凭据访问应用程序B(但必须明确确认新协议,然后才能使用应用程序B)

首先,所有应用程序都需要访问用户数据库,因此用户只需要注册一次。 您可以拥有属性或关系来检查用户是否已确认不同应用的协议。

要使所有应用只需一次登录即可访问,您可以为所有应用使用相同的会话存储。

例如,您可以将memcached用于会话存储,并在所有应用程序中使用相同的会话存储密钥。 如果用户在一个应用程序中登录,当他在没有关闭会话的情况下转到另一个应用程序时,此应用程序可以检查会话是否已创建,并且用户无需登录即可进入新应用程序。

使用此解决方案,您需要小心会话数据,因此一个应用程序的数据不会与其他应用程序的数据重叠。