如何在Rails应用程序之外使用Rails会话存储?

时间:2012-04-26 15:49:32

标签: ruby-on-rails ruby-on-rails-3

我有兴趣在我的Rails应用服务器旁边部署Node.js.作为参考,我计划使用socket.IO创建聊天服务器,这样用户就可以在我的Web应用程序内聊天。

我当前的应用程序使用Authlogic对用户进行身份验证。我想确保只有用户无法读取其他用户的消息,因此我需要以某种方式验证用户会话。我的Node.js可以访问我的数据库,我知道Rails可以将会话存储在数据库中,所以我想使用这个功能来验证聊天用户。问题是,我不知道如何去做。我甚至不确定会话中有什么信息,我不知道如何使用这些信息来验证用户。

提前致谢!

1 个答案:

答案 0 :(得分:1)

从其他语言使用rails会话很棘手:它只是一个序列化的ruby对象,而且marshal格式的唯一文档就是implementation / ruby​​spec。

然而,authlogic实际上并没有在会话中存储任何内容:它有一个单独的cookie(默认情况下为user_credentials,假设您的模型为User) 该Cookie中的数据为"#{user.persistence_token}::#{user.id}",因此您应该可以通过js代码轻松验证此内容