Rails设计:从其他域登录

时间:2013-05-10 05:42:52

标签: ruby-on-rails devise

我到处都搜索,但我似乎找不到适合我的问题的答案。所以这里。

我有2个域......

http://www.mywebsite.com/http://app.mywebsite.com/

这两个域位于两个不同的rails应用程序中。

Devise位于app.mywebsite.com。我在www.mywebsite.com上有一个登录/注册表单,它将连接到app.website.com。我该怎么做?

1 个答案:

答案 0 :(得分:5)

您需要分享model设计会话

试试这个

只需修改config/initializers/session_store.rb

即可
Yourapp::Application.config.session_store :cookie_store, key: '_Yourapp_session', :domain => '.mywebsite.com'

它适用于我的应用程序。

更新

对于我上面的回答,我只在一个应用程序中尝试了但不同的架构,并且它可以工作。

如果你不放宝石设计,设计模型不起作用。 :d

如果是不同的应用程序,则需要www.mywebsite.com访问mywebsite.com的数据库,或者您可以将SSO用于您的应用程序。

我认为你需要这个:

  1. Multiple Applications with Devise, Omniauth and Single Sign On
  2. sso-devise-omniauth-provider
  3. 一些类似的问题:

    1. Single logon with different applications approach ruby on rails
    2. How to pass devise sign_in information into different application with rails
    3. OmniAuth Single Sign On with Devise