我正在创建一个 Rails 应用程序,它将在与旧应用程序相同的域上运行。我希望能够使用旧应用程序的宁静登录功能来验证新应用程序的用户。理想情况下,用户可以登录旧应用程序,然后访问新应用程序。我为每个应用程序运行两个 mongrel 实例。任何帮助深表感谢
问问题
1161 次
2 回答
3
所以我想通了。连接到用户数据库(如 lolindrath 建议的那样)以允许较新的应用程序访问用户数据库使我们成功了一半。用户现在可以像旧应用程序一样使用 restful 登录到较新的应用程序,但身份验证不会从一个应用程序转移到另一个应用程序。要允许单次登录对两个应用程序都有效,您必须将 cookie 会话数据从旧应用程序复制到新应用程序。
因此,在 ./config/initializers/sessiont_store.rb 文件中,将以下数据从旧应用程序粘贴到新应用程序(旧版本的 rails 在 ./config/environment.rb 文件中包含它):
ActionController::Base.session = {
:domain => '.localhost.com',
:session_key => '_Project_name_session',
:secret => '09808ajdsfkljdfwu309jas3longerkey'
}
于 2010-02-17T19:54:13.143 回答
0
如果您使用相同版本的身份验证插件,则可以使用不同的数据库进行身份验证。
Rails 不处理多个数据库连接,因此您必须使用这样的技巧:Ruby on Rails 中的多个数据库连接。
然后安装与旧应用程序中完全相同的插件,以便它使用相同的数据库架构。然后在用户模型中将数据库连接切换到旧数据库。
于 2010-02-17T18:31:02.540 回答