我有兴趣在我的Rails应用服务器旁边部署Node.js.作为参考,我计划使用socket.IO创建聊天服务器,这样用户就可以在我的Web应用程序内聊天。
我当前的应用程序使用Authlogic对用户进行身份验证。我想确保只有用户无法读取其他用户的消息,因此我需要以某种方式验证用户会话。我的Node.js可以访问我的数据库,我知道Rails可以将会话存储在数据库中,所以我想使用这个功能来验证聊天用户。问题是,我不知道如何去做。我甚至不确定会话中有什么信息,我不知道如何使用这些信息来验证用户。
提前致谢!
答案 0 :(得分:1)
从其他语言使用rails会话很棘手:它只是一个序列化的ruby对象,而且marshal格式的唯一文档就是implementation / rubyspec。
然而,authlogic实际上并没有在会话中存储任何内容:它有一个单独的cookie(默认情况下为user_credentials,假设您的模型为User
)
该Cookie中的数据为"#{user.persistence_token}::#{user.id}"
,因此您应该可以通过js代码轻松验证此内容