目前我有两台服务器的设置,每台服务器都有自己的事情,但我想在它们之间有一个统一的登录。现在,一个门户的登录表单只是通过一个API将用户名/密码发送到Rails门户,然后它发送一个auth令牌,然后我们将其存储在会话中并用于将来的身份验证和API调用。在rails服务器和php服务器之间共享会话
因此,问题在于,访问我们网站的用户必须在每个门户中登录一次,因为Ruby API不与我们进行通信,并且在API被ping通时Ruby端不会对会话执行任何操作但发送给我们回授权令牌。
我最初的想法是在我们向API发送证书时让Rails方创建会话,但显然这不起作用,因为他们将无法在用户浏览器中设置会话ID,或者至少这是我被告知的。
如果Ruby方面转移到使用数据库进行会话存储,是否可以缓解此问题?基本上,我想保留在Ruby端的大部分变化。
有没有理由不能在数据库中?我的问题是,我不熟悉rails,但我认为它能够轻松地切换到数据库的会话。 Symfony2是我们的PHP方面,可以轻松地将数据库用于其自己的会话。但在这种特殊情况下,我们实际上甚至不需要每次说“分享”会话,因为唯一需要发生的是某种跨站点登录。我假设如果Rails使用数据库进行会话,将凭据发送到API并且Ruby端可以将用户登录到 – jonathonh 2013-05-03 17:03:48
是没有问题的。你的猜测是对的。 Rails会话可以存储到数据库中。您只需像往常一样创建一个表来存储会话,并轻松地从中获取会话数据。在这里,我的问题是我不喜欢symfony2。只有我是家庭核心的PHP。无论如何,您可以将导轨会话存储在数据库中 – Kushal 2013-05-04 03:59:20