问题标签 [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.
mysql - 如何使用 express-session 实现会话?
我正在考虑在我的 node.js 应用程序中使用会话。
我了解以下内容: - session-cookie 使用 cookie 在客户端保存会话数据 - express-session 使用 cookie 存储 sessionID,所有会话数据都存储在服务器端
我担心安全,所以我会选择 express-session。但是文档说默认情况下快速会话将数据存储在内存中,这在生产中是不可想象的。
所以我的问题是:你如何在你的应用程序中实现会话?会话存储不会影响性能吗?如果没有,你会推荐我哪个会话商店?(我的应用程序使用 MySql 作为数据库)
非常感谢您的帮助。问候。
javascript - 视频到 Window.sessionStorage
我通过加载一个非常小的(webm 版本为 600KB,mp4 版本为 2MB)循环视频并在滚动事件上逐秒重新绘制,在画布和滚动上制作了一个带有小动画的 github 页面。
它工作得很好,但我注意到有时动画会卡在一个帧中,或者动画变慢并且不流畅,并且看起来浏览器会在线寻找数据,因为缓存的 max-age 每 10 分钟一次。
如何将我的 video.currentsrc 会话存储在浏览器中以便将其用于画布?
或者有没有其他更好的方法可以推荐给我?
node.js - Express-session - 会话的并发修改
我正在使用 expressjs 和 express-session 与 nodejs 中的 redis-connect 存储实现基于会话的服务,并且我对会话存储的并发修改有问题。查找以下问题示例:
- 发布了两条路线:/api/op1 和 /api/op2
- /api/op1:增加request.session.op1Calls的值并调用外部服务(3秒)
- /api/op2:增加 request.session.op2Calls 的值,什么都不做(0.1 ms 执行)
这里的问题是:如果我在执行 op1 的过程中多次执行 op2,那么 request.session.op2Calls 的值就丢失了。我应该如何实现会话存储以永不丢失值?
谢谢!
ruby-on-rails - 升级到 Rails 5.2 时保留现有会话(使用 Redis 会话存储)
我最近完成了一个 Rails 应用程序的大升级。我逐渐将应用程序从Rails 4.2.8
到Rails 5.2.3
。一切都很顺利,我们所有的自动化测试都通过了,我们已经开始了用户验收测试。
到目前为止,唯一发现的问题是登录用户正在被此升级注销。我们之前安装了redis-rails
gem(版本4.0.0
)以启用 Redis session_store
,现在我们正在使用Rails 5.2
.
我将我们的配置设置为使用与以前相同的 Redis 连接和相同的 session_store 键值,但我无法弄清楚为什么会话仍在被重置。似乎redis-rails 4.0.0
没有正确设置 session_store 键值?
redis-rails
从 升级到时,是否有其他人处理过这个问题并成功保留了现有会话Rails 5.2
?
编辑:
已更新的其他可能相关的 gem 包括ruby 2.3.4 => 2.5.5
, devise 4.0.3 => 4.6.2
, &redis 3.2.2 => 4.1.2
node.js - 在 node.js 中设置 mssql-session-store
我正在尝试将 mssql-session-store 用作会话的 nodejs (express) 存储: https ://www.npmjs.com/package/mssql-session-store
这就是它的配置方式(来自 npm 页面):
我的问题是options.connection。它应该是“来自 mssql 的连接的可选实例”。此连接建立是一个异步过程(来自 npm 页面):
这是在 nodejs 初始化中定义快速会话的方式:
问题是连接的建立是一个异步过程。我已经尝试了几个版本来在应用程序中使用 express-session,但是在连接建立之后这样做(异步)。查看我的基本代码(node.js 的初始化 - servre.js 文件):
我已经尝试在连接承诺的应用程序中设置会话:
但是在全局应用程序中没有定义会话的范围问题。请支持。
parse-platform - 如何将 express-session 商店与 back4app 连接起来?
那是我的代码:
我已将我的代码上传到 heroku,它可以工作。但我收到警告:
“connect.session() MemoryStore 不是为生产环境设计的,因为它会泄漏内存,并且不会扩展到单个进程。”
经过大量研究,我发现我必须使用商店。但是哪一个?我正在试验mongo-connect。但没有成功。
这就是我在代码中添加的内容:
我不明白,如何正确实施它,即使它是 back4app 的正确商店?谁有在 express-session 中集成 back4app 会话的经验?
node.js - 如何跨子域共享快速会话?
我正在使用 express-session 和 MongoDbStore 来存储会话变量。但是,在使用 vhost 实现子域之后,会话变量不会在子域之间共享。我的会话配置如下
示例虚拟主机代码:
会话变量存储在 MongoDB 中,但每个子域都有不同的文档。如何使这些会话变量对我的所有子域通用?
到目前为止我已经尝试过:将域保持为'.example.com',不包括路径参数,不包括域参数,不包括httpOnly参数,使用resave为true但似乎没有任何效果提前谢谢你
mysql - 如何处理 MySQLStore 连接错误?
我将 NodeJS 与 express 一起使用。我将会话存储到 MySQLStore (express-mysql-session) 我的问题是如何处理连接错误?当它无法连接时,我想向用户呈现一个页面,而不是“错误:在 TCPConnectWrap.afterConnect [as oncomplete] 处连接 ECONNREFUSED 127.0.0.1:3306 [as oncomplete] (node:net:1137:16) ..... “ 信息。
我的代码:
使用简单的 mysqljs,我可以轻松地做到这一点,因为当我使用 connection.query 时,有一个 (error, result) => { ... } 我可以处理错误,但在这个 MySQLStore 我不知道如何处理连接错误。
node.js - 错误“无法解析密文对象!” 在使用 connect-mongo 存储会话时
我正在使用 connect-mongo 包将会话存储在 mongoDB 中。
我按照https://www.npmjs.com/package/connect-mongo上的包文档设置了以下代码:
在我在上面的代码中使用这部分之前,一切都运行良好:
现在我在终端中收到一个错误,上面写着Unable to parse ciphertext object!
我敢肯定这是crypto
因为MongoStore.create()
我应该怎么办?
除了问题之外的一个请求:我是新手并且自己学习身份验证,但我没有在会话中获得任何资源(除了包文档)并将会话存储在 DB 中而不是 memoryState() 中。所以你能告诉我这是正确的方式还是有其他有效的方式在 mongoDB 中存储会话。
ruby-on-rails - Rails 6 上的会话存储使用 Heroku
下午好,我用 Rails 创建了一个简单的登录系统,并响应测试个人项目。我使用会话存储来存储用户 ID。本地工作正常,cookies创建正常。当我直接响应使用 Heroku 中的 api 时,不会创建任何 cookie。登录正常工作,但不会创建 cookie。我已经进行了几次更改 session_store.rb 的测试,强制使用 ssl,但我不知道该怎么办了。谁能帮忙,这是存储库:https ://github.com/steniooliv/ability-accounting-api 。