我通过参数(params ['session_key'])为一个控制器传递用户会话(这是一个flash上传脚本,所以我必须通过参数传递它)。
我不知道如何使用raw param字符串访问authlogic的用户会话。
通常我会这样做:
@current_user_session = UserSession.find
我以为我可以这样做:
@current_user_session = UserSession.find(session_key)
但是将密钥作为参数传递给方法似乎不起作用。
当我无法访问会话cookie并需要使用带有会话密钥的参数时,知道如何使用authlogic查找用户会话吗?
答案 0 :(得分:1)
要进行身份验证以进行身份验证,您需要一个非常棘手的“黑客”。
不知道您是否正在使用uploadify,但您可能需要此处指示的相同解决方案: http://thewebfellas.com/blog/2008/12/22/flash-uploaders-rails-cookie-based-sessions-and-csrf-rack-middleware-to-the-rescue
唯一的问题是,我从来没有在互联网上找到100%可行的解决方案,我从这篇文章开始,并在工作中手动解决了这个问题。
我记得,我将protect_from_forgery的异常添加到了我的tmp_uploader方法
另一个必要的事情是在方法的渲染上我必须具体指出:
render :action => 'tmp_uploader.js.rjs'
使用我的AppController使用的respond_to方法的过滤器也存在问题,还将tmp_uploader方法添加到他的:除了列表
抱歉,我不记得我还有什么需要做的,但这确实是一个巨大的痛苦。