问题标签 [session-store]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
9557 浏览

ruby-on-rails - 在开发期间清除 Rails 会话

如何清除 Rails 会话,以便我可以重新开始?我知道我可以用 取消每个会话变量session[:my_var] = nil,但是是否有 rake 任务或知道如何将会话数据恢复为其最基本形式的东西?

我正在使用Spree,它在会话中存储了一些属性,我想清除这些属性以查看后台发生的情况,例如order_idorder_tokenuser_credentials_id等。

我正在使用 SQLite3

0 投票
1 回答
345 浏览

ruby-on-rails - 如何在 Ruby on Rails 2.3.5 上根据客户端切换会话存储

我有一个关于 ruby​​-on-rails 会话的问题。我们有几个关于会话存储的选项,例如 cookie、active_record_store 等。我主要使用 cookie 存储,但是有些客户端不支持 cookie 功能。在这种情况下,我必须让该客户端使用“active_record_store”。我的 Rails 版本是 2.3.5。我发现即使我使用了 active_record_store,cookie 仍然可用。在我的情况下,两个会话存储都可能可用。所以,我想让框架在 cookie 可用时主要使用 cookie。另一方面,客户端不支持cookie,其次要使用active_record_store。

我认为这个功能需要对框架进行一些覆盖,但我不知道该怎么做。你对此有什么想法吗?非常感谢您提前。

0 投票
2 回答
1020 浏览

ruby-on-rails - Rails:更改为active_record_store时出现ActionController::InvalidAuthenticityToken

我刚刚将 session_store 更改为 active_record_store。我为 db:sessions:create 和 db:migration 执行了 rake 命令,但现在我一尝试登录就会遇到以下问题。

ActionController::InvalidAuthenticityToken

如何解决这个问题?

马库斯

0 投票
1 回答
707 浏览

ruby-on-rails-3 - Rails3 Cookie溢出

我收到此错误:

在 config/application.rb 我有:

会话表中没有存储数据。

我正在使用带有此代码的 RubyCAS 客户端:
https ://github.com/zuk/rubycas-client-rails

将代码存储在数据库中是我做错了什么,还是此代码未设置为使用活动记录存储?

0 投票
2 回答
1135 浏览

session - Amazon EC2 ELB directing load to other instances and session stores

If we scale up (add an instance to ELB), could we redirect some existing requests to the new instance. So that, The users that we force to a new server will be asked to login again

If we scale down (remove an instance from ELB), then all users from that server will automatically be redirected by ELB to other remaining servers. These user should not be aked to login again.

Is this possible (including the redirect of request)? How?

Any ideas are welcome but I presume this can be solved using a central session store. I just don't know how to implement it .

And what are the options in using a central session store? simpledb? redis? memcached?

Our application is just a simple web application hosted in apache. We have two instances of it added unto the Amazon ELB, and we are using PHP.

Any ELB php specific suggestions? when a scale down/up happens that no user-visible symptomps should be shown?

0 投票
1 回答
389 浏览

ruby-on-rails - 无法在 Rails 3.1/Authlogic/ActiveRecord 会话存储的集成测试中获得授权用户

我正在尝试在使用 Authlogic 和 ActiveRecord SessionStore 的 Rails 3.1 应用程序上编写一个简单的集成测试,但我碰壁了。

首先,我尝试了一种经典方法:在确保该require "authlogic/test_case"行已经在我们的行中之后,test_helper.rb我编写了一个 setup 方法,该方法调用activate_authlogic然后用于UserSession(@user)创建会话。

这确实创建了UserSession.find一个get会话(UserSession.findnil

我也尝试过 POST 电子邮件/密码,但这似乎只有在我将会话存储更改回 cookie_store 时才有效(这是我从这个评论中发现的)。

将会话存储切换为CookieStore仅用于测试是一种选择,但有些测试已经依赖于 ActiveRecord 存储。

有什么方法可以只为一次测试切换会话存储吗?我缺少这个问题的其他解决方案吗?

0 投票
1 回答
482 浏览

ruby-on-rails - 如何在请求结束之前在 Rails 中保持会话?

我使用 Rails 2.3 和 ActiveRecord 作为会话存储,我想避免在需要之前创建会话。

我有一个 Itens 表来存储与会话关联的项目,即它的模型有一个关联belongs_to :session

我有一个应该创建一个新项目的 Ajax 调用。当还没有会话时,它应该创建一个与项目关联的会话。为此,我需要会话表中的 id,而不是用于识别 cookie 会话的 session_id。但是,会话记录仅在请求完成后才在数据库中创建。前任:

0 投票
1 回答
2556 浏览

session - 文件和数据库中的会话之间的区别

在文件和数据库中存储会话有什么区别?

0 投票
1 回答
1901 浏览

ruby-on-rails - 达利会议商店

我已经在谷歌上搜索了很长时间,但还没有找到解决方案。我正在使用 Rails 3.2 和带有 memcached 1.4.14 的 Dalli gem。

我想使用 Dalli/Memcached 作为会话存储,但我不知道该怎么做。现在,Dalli 缓存像经典缓存一样工作,但不是会话缓存。我创建了一个新的 rails 应用程序,将 Dalli 添加到 Gemfile :

在开发和生产环境中,我将 Dalli 设置为缓存存储:

这是的内容initializers/session_store.rb

我创建了一个Myooo模型,在该模型中添加了列出和创建实例的方法:

在控制器中,我只是尝试访问缓存。在索引操作中:

在创建动作中:

我知道这是一个奇怪的脚本,但我需要了解我应该如何处理会话缓存并在实际项目中使用它。我在服务器大纲控制台上花了很多时间,做了很多尝试来了解发生了什么。缓存似乎就像经典缓存,而不是会话缓存。

我很高兴得到帮助(ps:新年快乐):)

0 投票
0 回答
123 浏览

ruby-on-rails - 在存储变量后一段时间,Rails 2 会话被破坏

我正在开发现有的 Rails 2 应用程序。我已经将一些散列数据结构转换为对象,如果我将一个放入会话存储中,它似乎会破坏会话,清除 user_id 等,并强制再次登录。我正在使用 dalli_store 进行会话。

以下代码导致会话被清除:

目前尚不清楚它在哪里被消灭了。我可以在调试器中逐步完成渲染视图,并且会话很好,但是当我在 UI 中点击另一个链接时,session它是空的(哈希 [0]),我被重定向到登录页面。

如果我稍微改变一下代码,就可以了:

但是,如果我存储实际对象(甚至是深层副本),会话就会丢失。即即使这样也行不通:

编组时 bug.size 大约为 140K,因此它不应超过 memcached。无论如何,我会假设 session 是由 序列化的Marshal::dump(),所以大小应该是相同的。存储后是否访问会话中的对象并不重要。只需将其放入会话中就足以导致问题,但正如我所说,存储对象后会话很好,并且一直通过视图渲染。直到下一个请求开始,我才发现它已被破坏。

我难住了。

你对如何调试这个有什么建议吗?目前,我想我可以显式调用 Marshal 来保存对象,但我真的很想了解为什么会话会被破坏。

我知道将大对象放入会话中是一件坏事,但是解决这部分问题超出了当前项目的范围......也许以后。另外,我很好奇这里发生了什么。