Tag: 会话

Express.js会话在服务器重新启动时重置

我正在使用具有自定义MongoDB会话存储的快速会话包,但由于某种原因,每当我停止并重新运行脚本时,会话都会被删除。 从看数据库我可以看到会话被保存。 有任何想法吗?

NodeJS自定义会话存储,清除过期的会话

我目前正在为ArangoDB(connect-arango)开发一个会话存储。 它几乎与MongoDB会话存储(connect-mongo,因此'connect-arango')的工作方式相同,但是问题是,ArangoDB没有内置TTL的条目。 MongoDB有这个,这不是一个问题。 但在ArangoDB中,我必须在会话存储区中执行此操作。 每60秒(使用setTimeout)检查过期的会话是否足够,或者我应该使用其他的东西,比如每次调用“get”函数时检查? 我将使用AQL查询来清除它们,类似这样: FOR s IN sessions FILTER s.expires < DATE_NOW() REMOVE s IN sessions 如果用户要清除他的cookies,那么会话永远不会被使用“get”函数访问,这意味着我无法检查它是否已经到期。 但是我能做的是在每次调用“get”函数的时候运行上面的查询,但是我觉得这样做是不必要的,并且会增加服务器的负担。 编辑:只要没有人误解,我知道如何清除过期的会话,我只是不知道如何经常运行清除function(在这种情况下,这是上面的AQL查询)。

在Node.js中使用PHP会话(存储在mySql中)

我试着在node.js中使用活动会话(在php中启动) 对于PHP,我将会话存储在mysql中(通过使用session_set_save_handler ,如http://phpsecurity.org/code/ch08-2中所述 )。 适用于PHP。 现在计划: 1)从PHP应用程序的客户端“执行”node.js链接与客户端的PHPSESSID cookie在GET: http://192.168.0.222:53077/?phpsession=02isg9kv8fbveqhmt1htcj6cc7 2)在node.js服务器端获取PHPSESSID,在mysql会话表中查找它的值 3)如果mysql中存在PHPSESSID值 – 读取存储在mysql(会话表)中的用户id,名称和其他用户的数据, 问题是 – 是对的吗? 我认为我错了,至less从第2步。什么是正确的方式工作在Node.js会话存储在MySQL中从PHP开始? 请尽量不build议我将会话存储在memcached或redis中,我select了mysql。

使用node.js客户端会话没有明确的

我试图让客户端会话工作,而不使用快递,但我不知道如果我正确地移植示例。 var sessionOptions = { cookieName: 'mySession', secret: 'blargadeeblargblarg', duration: 24 * 60 * 60 * 1000, activeDuration: 1000 * 60 * 5 }; var session = new SESSION(request, response, {}, sessionOptions); 当我运行这个客户端会话抱怨 不能build立没有秘密或encryptionKey / signatureKey对的会话 客户会议是否需要快递工作?

限制PassportJS上每个用户的并发会话数

作为标题,我需要为每个用户设置一个Web应用程序并发会话的上限,以防止帐户共享。 我在passportjs(在节点平台上)使用本地策略进行身份validation。 这样做的最佳做法是什么? 计算login请求的数量(创build会话的位置)是否足够了?

npm模块支持Redis Sentinel作为会话存储

我将在我的Node js(express)Web应用程序中使用redis sentinel集群作为会话存储。 你可以请列出最好的NPM模块做这个。

在集群模式下运行pm2redirect后,req.session数据丢失

我们运行一个node.js应用程序,并使用express 4.6.1 cookie分析器1.3.2 connect-flash 0.1.1和express session 1.7.0。 我们使用Flash在redirect后在页面上显示消息,有时在req.session中存储数据,以便在用户犯错并需要重新input时自动填写表单。 最近,我们开始在集群模式下使用pm2,大多数情况似乎都能正常工作,但是我们注意到,在redirect之后,我们丢失了存储在req.session中的闪存数据和数据。 这里是一个例子: req.flash("signup", errorString); req.session.storedData = {}; req.session.storedData.username = ""; req.session.storedData.password = req.body.password; req.session.storedData.email = req.body.email; req.session.storedData.emailConfirm = req.body.emailConfirm; res.redirect(problemRedirectPath); 这来自在用户尝试注册后接受请求但是有某种错误的端点。 如果我们在没有集群模式的情况下运行它,会话数据和闪存都会正常显示,但是如果我们在集群模式下运行它们,它们几乎总是丢失(不总是:/) 有没有更好的方式在集群模式下做到这一点?

在节点js不可见php会话(redis)

我使用Redis服务器来共享Php和Node js之间的会话。 对于Node js客户端使用“connect-redis”,而对于php客户端,使用redis-session-php和Predis。 我从这里获取了大部分的代码(来自正确答案)的堆栈升级版本。 app.js var express = require('express'), app = express(), cookieParser = require('cookie-parser'), session = require('express-session'), RedisStore = require('connect-redis')(session); app.use(express.static(__dirname + '/public')); app.use(function(req, res, next) { if (~req.url.indexOf('favicon')) return res.send(404); next(); }); app.use(cookieParser()); app.use(session({ store: new RedisStore({ // this is the default prefix used by redis-session-php prefix: 'session:php:' }), // use the […]

PHP会话使用FileSystem与Node.js共享?

有几种方法可以与Node.js共享PHP会话。 一种方法是将PHP会话保存在非RedSQL数据库(如Redis)中,并通过Node.js访问它。 另一个stream行的方法是使用memcached服务器。 上述两种方法都需要: 1)运行另一台服务器。 2)更改默认的PHP会话处理程序。 为什么我不应该使用默认的PHP会话处理程序,并通过使用“fs”(FileSystem)核心库来读取Node.js中的文件内容来访问会话文件? 除了速度之外还有什么其他的原因,不能直接访问和读取会话文件,假设服务器之间不应该进行远程操作?

配对帆,护照和mongo:错误:挂钩(`会议`)加载失败! 对象…没有方法“分配”

我是Sails / Node.js的新手,请耐心等待:) 我试图设置Sails 0.11.3通过Passport与谷歌身份validation。 它工作得很好(谷歌身份validation工作),直到我试图启用mongo会话存储。 一旦我添加到config / session.js中: adapter: 'mongo', host: 'localhost', port: 27017, db: 'xxxx', //REAL_DB_NAME_HERE collection: 'sessions', 帆升降机拒绝启动服务器: $ sails lift info: Starting app… error: A hook (`session`) failed to load! error: Could not load Connect session adapter :: connect-mongo Error from adapter: TypeError: Object function lodash(value) { // exit early if […]