2012-04-26 39 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

相關問題