问题标签 [express-session]

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 回答
5286 浏览

node.js - saveUninitialized 和重新保存有什么区别?

Express 的会话中间件提供了几个可配置的选项

resave : '强制将会话保存回会话存储,即使在请求期间从未修改过会话。'

saveUninitialized : '强制将“未初始化”的会话保存到存储中。会话是新的但未修改时未初始化。

看来这两个选项都用于保存未修改的会话。有什么不同?

0 投票
3 回答
3919 浏览

node.js - NodeJS:带有会话的“ENOENT”警告消息

我将 node 与 express-session 和 session-file-store 包一起使用。会话数据使用 session-file-store 包作为文件存储在根目录中。但是,现在我的日志被阻塞了,因为消息[session-file-store] will retry, error on last attempt: Error: ENOENT, open 'sessions/_jl2ijMBQHIvv8M1mYTcnFZGqwGo0t-v.json'在短时间内访问的每个会话 cookie 出现 5 次。什么可能导致此错误?它发生在我的 Windows 开发机器和我的 ubuntu 服务器上。它显然无法访问该文件,但会话仍然有效。

这是我收到的一系列错误之一:

0 投票
2 回答
1355 浏览

javascript - 回调内部的快速会话在外部返回未定义

我有一条用 Express 编写的路线,如下所示:

someBoolean为真时,应设置会话。然而,在移动到不同的页面后,req.session.user 以未定义的形式返回。但是,在 someFunction 中检查 req.session.user返回定义。我发现会话在 someFunction 范围之外变得未定义的解决方案将 res.render("route") 移动到someFunction中,如下所示:

但是,当someBoolean为 false 时,这会导致路由失败。我认为这是由 Node.js 的异步特性引起的,但我不确定。是什么导致这种情况发生,这是正确的解决方案吗?

0 投票
0 回答
204 浏览

angularjs - 快速会话不是持久的

我目前正在尝试在快速会话中保存数据。

我使用以下软件包:

我正在以这种方式实施会话:

现在我遇到了以下问题:当我尝试使用名为“Postman REST Client”(Chrome 扩展)的软件发布到 /api/auth/login 时,它可以工作,并且在获取 /api/user/me 时将记录用户 ID。

但是,如果我尝试在 angular.js 应用程序中发布到 /api/auth/login,它不会保存会话值。我总是得到一个没有用户 ID 的干净会话对象。

也没有保存cookies。

请你帮助我好吗?

问候:马克斯

0 投票
1 回答
149 浏览

node.js - express-session,在 socket.io 交互中读取 vars

我正在使用 express.js 和 socket.io 为网页的客户进行聊天,并且我正在尝试使用 express-session 管理会话,我的问题是,如何读取套接字上的会话值。这是我的代码的一部分。

谢谢您的帮助 :)

0 投票
1 回答
11161 浏览

node.js - 如何使用 express-session 生成自定义会话 ID?

我使用 Redis 作为会话存储,我还想使用express-session. 到目前为止,我实现的是用这样的常量字符串创建会话:

redis configuration

它在 redis 中创建键,如下所示:

但是,我无法生成唯一 id,uuid如 doc here session-store github中所述。我已经尝试在我的索引路由文件(routes/index.js)中插入会话值,如下所示

genid但由于 value无法读取函数内部的 value undefined。所以,我的问题是:

我可以使用uuid任何模型生成会话 iduser->uuid吗?如果是,我该怎么做?

谢谢,任何帮助将不胜感激。

0 投票
0 回答
119 浏览

node.js - 使用 Session 更新 EJS 布局

我的 ejs 布局通过会话在主菜单上提供当前用户的用户名

现在,当我销毁会话并重定向到主页时,当前用户的信息仍在显示,尽管记录当前用户返回未定义。有没有办法强制布局更新自身以显示当前信息?

0 投票
1 回答
1716 浏览

node.js - 通过 _id cast 错误手动删除 connect-mongo 会话

我正在尝试从 connect-mongo 会话集合中手动删除一个文档。当我尝试删除文档时,出现以下错误:

消息:'在路径“_id”处,值“gl9-V-bjAjqv2Nwdf9vHPLN_Fnnl4Thz”的值转换为 ObjectId 失败'

express-session 使用以下函数生成会话 id:

从此函数生成的会话将进入会话文档的 _id 属性。但是,当您尝试通过生成的 id 查找或删除文档时,您会收到错误消息。

mongodb 文档说 _id 应该是

ObjectId 是一个 12 字节的 BSON 类型 ObjectId

我尝试使用会话上的 genid 选项覆盖会话 ID,但覆盖并没有使其进入数据库。

如何在文档中获取有效的 _id 或使用无效的 _id 查询文档?

谢谢!

我的基础架构:Express 4.10、Node v0.12.7、Compose.io、connect-mongo、express-session

0 投票
3 回答
1999 浏览

node.js - 什么是 npm 模块支持 Redis Sentinel 作为会话存储

我将在我的 Node js (express) Web 应用程序中使用 redis sentinel cluster 作为会话存储。您能否列出执行此操作的最佳 npm 模块。

0 投票
3 回答
24558 浏览

javascript - node express,注销后如何清除cookie

基本上我正在从 a.example.com 重定向到 www.example.com 并且我希望能够删除 www.example.com 上的 cookie(因为 cookie 是使用 .example.com 作为 cookie 域创建的),但是以下代码不起作用。

我知道这个问题似乎是重复的问题,我尝试了类似问题的所有内容,但它不起作用。看看我已经尝试过的代码。

使用 express 3.0.3 和节点 0.10.32。

快速会话中间件

登出功能

我已经从类似的问题中尝试过

  1. https://github.com/strongloop/express/issues/691

所以我放入path : '/'了快速会话中间件,例如:

没有成功。

  1. https://groups.google.com/forum/#!topic/express-js/PmgGMNOzhgM
    我使用的是 res.clearCookie: res.cookie('express.sid', '', {expires: new Date(1),小路: '/' });

没有成功。