gpt4 book ai didi

node.js - 如何枚举nodejs+express中的所有 session ?

转载 作者:太空宇宙 更新时间:2023-11-04 02:59:03 25 4
gpt4 key购买 nike

我正在尝试编写一个带有 session 和用户身份验证的简单 Nodejs 服务器。这是代码:

var express = require('express'),
app = express(),
fs = require('fs'),
passport = require('passport'),
jade = require('jade'),
BasicAuthStrategy = require('passport-http').BasicStrategy,
webRootDir = __dirname + '/web',
templatesDir = __dirname + '/templates/';

passport.use(new BasicAuthStrategy(
function (username, password, cb) {
"use strict";
cb(null, username);
}
));

app.use(express.logger());
app.use(express.bodyParser());
app.use(express.cookieParser());
app.use(express.session({secret: 'd6151b7e-8997-4187-a95e-29ce08450094'}));
app.use(passport.initialize());
app.use(passport.authenticate('basic', { session: false }));
app.use(express.favicon());
app.use(app.router);
app.use(express['static'](webRootDir));
app.use(express.errorHandler({ dumpExceptions: true, showStack: true }));
app.set('view engine', 'jade');
app.engine("jade", jade.__express);

app.get('/', function (req, res) {
"use strict";
res.render(templatesDir + 'index', {
user: req.user
});
});

app.listen(8080);

现在我想枚举自服务器启动以来创建的所有 session (我不寻求 session 持久性)并检查它们的内容。我该怎么做?

最佳答案

这取决于您使用的 session 存储。 session 存储不需要提供获取所有存储 session 的机制。

但是,默认Connect in-memory session store ( which you should not use in production ) 提供了一个 .all 函数,它允许您获取所有 session 。

sessionStore.all(function(err, sessions) {
// if err handle err
// iterate over sessions array
});

关于node.js - 如何枚举nodejs+express中的所有 session ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18200428/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com