是否有人知道任何宝石、教程或解决方案使用户能够在一个域中登录网站并在同一会话中自动授予对其他合作伙伴域的访问权限?
我有两个正在运行的 Rails 应用程序,我们称它们为 App-A 和 App-B。 App-A 有一个与之关联的数据库,支持在 App-A.com 上的注册和登录。我现在想向所有拥有 App-A.com 帐户的用户授予对 App-B.com 的访问权限,而无需让他们单独重新注册或手动登录 App-B.com。
预先感谢您的任何帮助!
- 标记
您可以在两个应用程序中设置相同的 session_key。在appA环境.rb中更改session_key,如下所示
Rails::Initializer.run do |config|
...
config.action_controller.session = {
:session_key => '_portal_session',
:secret => '72bf006c18d459acf51836d2aea01e0afd0388f860fe4b07a9a57dedd25c631749ba9b65083a85af38bd539cc810e81f559e76d6426c5e77b6064f42e14f7415'
}
...
end
在 AppB 中执行相同操作。 (记住使用相同的秘密)
现在您已共享会话。假设您使用restfull_authentication,它设置了一个名为的会话变量user_id。当您在 appA 中进行身份验证时,它会在会话中设置 user_id。现在,在 appB 中,您只需验证会话中是否存在 user_id 即可。
这是总体架构,您可以使用这个想法进行更详细的阐述。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)