rails:authlogic将会话参数传递给UserSession.find

时间:2010-07-08 16:26:23

标签: ruby-on-rails ruby-on-rails-plugins authlogic

我通过参数(params ['session_key'])为一个控制器传递用户会话(这是一个flash上​​传脚本,所以我必须通过参数传递它)。

我不知道如何使用raw param字符串访问authlogic的用户会话。

通常我会这样做:

@current_user_session = UserSession.find

我以为我可以这样做:

@current_user_session = UserSession.find(session_key)

但是将密钥作为参数传递给方法似乎不起作用。

当我无法访问会话cookie并需要使用带有会话密钥的参数时,知道如何使用authlogic查找用户会话吗?

1 个答案:

答案 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方法添加到他的:除了列表

抱歉,我不记得我还有什么需要做的,但这确实是一个巨大的痛苦。