【问题标题】:Rails: is it possible to share session between two apps with two different databases?Rails:是否可以在具有两个不同数据库的两个应用程序之间共享会话?
【发布时间】:2014-11-05 16:41:29
【问题描述】:

我有 Rails app 1,我希望 rails app 2 通过 Rails app 1 进行身份验证,不知道这是否可能?

我在两者上都使用了设计:

这背后的原因是我有主网络应用程序,即应用程序 1,然后是其他应用程序的网络节点,我希望所有节点都能够通过主应用程序进行身份验证。

我已经使用主应用程序中的 1 个主用户表在每个应用程序上建立身份验证,但现在我只需要弄清楚如何共享会话。


我查看了以下问题,但它们是在同一个数据库中进行的,而不是跨应用程序:

Rails sessions current practices

Sharing session across rails apps on different subdomains

我想做这家伙到底想做的事:


Rails authentication strategy for noob


Navigate to rails app -->
redirect unauthenticated users to SSO server -->
login and authenticate via remote SSO server -->
callback/redirect to rails app -->
capture user info passed back from SSO server and load protected resources in rails app

更新: 我想我可以使用这个Rest-Client 在rails app 2 上通过rails app 1 进行身份验证。不是吗?是吗?

【问题讨论】:

    标签: ruby-on-rails ruby session devise session-cookies


    【解决方案1】:

    也许其中一篇文章会对您有所帮助:

    http://stderr.timfischbach.de/2013/09/14/rails-4-and-sinatra-session-sharing.html

    http://robots.thoughtbot.com/how-to-share-a-session-between-sinatra-and-rails

    它们描述了基于机架的应用程序(sinatra 和 rails)之间的会话共享,但它也适用于两个 rails 应用程序。

    基本的身份验证中间件是 Warden::Manager,您应该只有一个 config.ru 用于两个应用程序。

    附加提示: 也许您可以使用数据库以外的其他会话存储,例如 memcached、redis、couchbase 或其他任何东西。

    【讨论】:

      猜你喜欢
      • 2016-06-20
      • 1970-01-01
      • 2014-11-04
      • 1970-01-01
      • 2015-09-23
      • 1970-01-01
      • 2020-12-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多