当前位置: 首页 > 面试题库 >

Devise会话将立即在.js调用[AJAX]上到期

郎飞航
2023-03-14
问题内容

经过反复试验,我将问题缩小到下面的第5行。由于某种原因,.js响应将结束用户会话。使用3.0.4并设计1.1.7(和jQuery 1.5)。

此外,@ organization正在更新,并且日志中将显示Completed 200 OK,因此用户不知道他/她已注销,直到尝试下一个操作为止。

任何帮助和指导,我们将不胜感激。

*Controller*
1   def make_featured
2     @organization = Organization.find(params[:id])
3     @organization.is_featured ? @organization.update_attribute(:is_featured,"false") :   @organization.update_attribute(:is_featured,"true")
4       respond_to do |format|
5         format.js {render :action => "update", :layout => false}
6       end
7   end

*update.js.haml*
$("#organization_" + "#{@organization.id}" ).replaceWith("#{ escape_javascript(render :partial => 'users/supplier_view', :locals => {:organization => @organization}) }");

问题答案:

非常感谢Google Devise Group的Brandon Martin向我指出了正确的方向…

这是Rails 3.0.4安全修复程序的结果。

http://weblog.rubyonrails.org/2011/2/8/csrf-protection-bypass-in-ruby-on-
rails

经过大约一个小时的工作后,这里有一些针对其他人的提示…

  • 该问题已在rails.js中修复-因此您无需修改​​,修补或重新发明轮子。
  • 如果您使用的是开箱即​​用的rails.js,请对其进行更新- rake rails:update(我认为,但是我使用了自定义的rails.js文件)
  • 如果您使用的是自定义的rails.js文件,请在此处获取最新版本的源代码:https : //github.com/fermion/jquery-ujs/blob/master/src/rails.js
  • 把你的csrf_meta_tag帮手以上的javascript_include_tag小号

希望有帮助!



 类似资料:
  • 来自ZooKeeper服务器的日志:

  • 首先;这个问题类似于另一个尚未解决的问题:对magento soap api的调用立即过期 我正在开发一个基于XMLRPC的客户端-服务器模块。基于Magento的服务器向基于Java的客户端公开了几个API方法。我在我的客户端中使用标准JavaXMLRPC Jars。 我有一个“登录”调用,用于检索会话。然后我把这个传给其他人做不同的电话。我检查了它是否返回(看起来)有效会话。 但是,我使用此会

  • 有一些不寻常的行为我不明白。当我登录到我的网站时,将创建一个新的会话。登录后,我可以立即向web服务器发送请求并执行一些事情,所有这些都需要一个有效的会话(我已经有了)。 问题是,在我登录之后,新的会话条目不会立即持久化到datastore(DynamoDB)。事实上,每次创建一个新会话时,我发现会话条目出现在Dynamodb中需要30秒到1分钟,有时甚至更长时间。 现在,我之所以能够在登录后立即

  • 问题内容: 由于快递组织没有答案,所以将这个问题带给SO 。 我正在设置会话maxAge = 900000,我看到会话cookie上的expires属性设置正确。但是,对于后续请求,超时不会延长。它永远不会扩展,cookie最终会过期。 该会议中间件文档说,活动#触摸()是没有必要的,因为会议将中间件为我做到这一点。我实际上尝试手动调用,但没有执行任何操作,也尝试在上设置maxAge ,但没有执行

  • 重试时间:io.reactivex.subjects.serializedsubject@35fb3008 subscribeNext 进程已完成,退出代码为0

  • 我正在创建一个如下所示的JobDetail,