【发布时间】:2010-11-01 18:09:14
【问题描述】:
我有一个使用 devise 来管理用户的 Rails 站点。对于会话管理,我使用 devise 的 rememberable 策略,它存储和检索用户 cookie 中的加密身份验证信息。
我正在实现一个使用 Flash 的多照片上传小部件。 Flash 不支持随请求一起发送 cookie。这是多个多次上传flash+javascript库的问题,因此修复这个缺点可能是不可行的。
所以我的问题是:我能否在不使用 cookie 的情况下成功验证设计/可记忆的?如果有,怎么做?
更多详情
设计/记忆取决于 cookie 中 remember_token 的值。如果我可以欺骗 Rails 认为该值是作为 cookie 提供的(例如request.cookies['remember_token'] = '...'),我的问题就会得到解决。 Devise/rememberable 会在那里找到正确的值,解压它,并成功验证。但是,request.cookies 哈希显然是只读的。写入散列会被静默忽略。示例(来自传入 POST 请求的调试控制台):
>> request.cookies['remember_token'] = 'a string'
=> "a string"
>> request.cookies['remember_token']
=> nil
>> request.cookies
=> {}
我正在使用(或尝试使用)FancyUpload v3 小部件。
【问题讨论】:
-
我正在寻找类似但不同的东西 - 一种设置像 remember_token 这样的 cookie 但用于不记得我的登录的方法,以使应用间登录共享更容易。碰到你的问题。
标签: ruby-on-rails flash cookies file-upload devise