警告:其中一些可能是非常错误的,所以如果我的假设不正确,请告诉我。
这是我要完成的工作:
我正在使用restful-authentication进行登录。但是,当我在 UI 中使用 flex/ruby_amf 时,我必须分别对来自 flex 的每个连接进行身份验证。
我决定这样做的方法是将登录屏幕重定向到嵌入式 Flash 页面,将 session-id 作为 flashvar 插入。flash 应用程序会随每个请求发送 session-id,并且所有相关控制器上的 before 过滤器会检查与 session-id 标识的会话关联的用户是否已登录。
我将用户与会话关联的方法是在会话表中添加一个“user_id”列,并执行从登录函数调用的 sql“更新会话集 user_id...”类型查询。
但是,user_id 仅在用户第二次登录时更新。稍作调查表明,在执行登录功能期间,会话表中的记录尚不存在。
所以,如果到目前为止一切都有意义,并且符合最佳实践等,那么我的问题是:
会话表中的记录是在什么时间点创建的?有没有办法更新登录函数中的会话对象并让 Rails 为我将 user_id 写入数据库?
Rails 中会话的行为对我来说是一个真正的谜。我会很感激任何帮助。
谢谢你。