2012-04-26 106 views
1

我有兴趣在我的Rails应用程序服务器旁部署Node.js。作为参考,我打算使用socket.IO创建聊天服务器,以便用户能够在我的Web应用程序中进行聊天。如何在Rails应用程序之外使用Rails会话存储?

我目前的应用程序使用Authlogic来认证用户。我想确保只有用户不能读取其他用户的消息,所以我需要以某种方式验证用户会话。我的Node.js将有权访问我的数据库,并且我知道Rails可以将会话存储在数据库中,所以我想使用此功能来验证聊天用户。问题是,我不知道该怎么做。我甚至不知道会话中有哪些信息,我不知道如何使用这些信息来验证用户身份。

在此先感谢!

回答

1

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

然而authlogic实际上并不存储任何会话:它有一个单独的cookie(默认user_credentials,假设你的模型是User) 在cookie中的数据是"#{user.persistence_token}::#{user.id}",所以你应该能够很容易地验证这一点从你的js代码

+0

好的谢谢!所以为了验证我的JS代码,我只需要验证cookie中的persistence_token :: user_id是否与存储在用户数据库中的persistence_token相匹配? – Max 2012-04-26 16:17:53

相关问题