gpt4 book ai didi

node.js - 带有 cookie 的 ExpressJS session

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

我尝试使用 cookie 与 ExpressJS 4.2 和 cookie-parser 建立用户 session ,但我找到的所有文档均适用于 Expressjs 3.x 或更早版本。

有人能指出我正确的方向吗?

文档或代码片段将不胜感激。

提前致谢!

======

我想使用 PassportJS 通过 MongoDB 对本地用户进行身份验证,除了此路由之外,一切正常(确保Authenticaad 始终重定向到/,即使在 MongoDB 中找到用户/通行证

// reusable middleware
function ensureAuthenticated(req,res,next) {
if(req.isAuthenticated()) {return next();}
res.redirect('/'); // if failed...
}


router.get('/panel', ensureAuthenticated,function(req, res){

res.render('panel', {obj: testArr});

});

那是因为 EnsureAuthenticated 无法找到事件的 Cookie。

我的app.js配置是这样的:

var express      = require('express');
var path = require('path');
var favicon = require('static-favicon');
var logger = require('morgan');
var cookieParser = require('cookie-parser');
var bodyParser = require('body-parser');
var passport = require('passport')
var mongoose = require('mongoose');
var flash = require('connect-flash');


//Routes
//=====================================================================
var routes = require('./routes/index');
var admin = require('./routes/admin');
var panel = require('./routes/panel');



//Express configuration
//======================================================================
var app = express();

// view engine setup
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'ejs');

/*app.use(favicon());*/
app.use(logger('dev'));
app.use(bodyParser.json());
app.use(bodyParser.urlencoded());
app.use(cookieParser('secret'));
app.use(flash());
app.use(passport.initialize());
app.use(passport.session());
app.use(express.static(path.join(__dirname, 'public')));

app.use('/', routes);
app.use('/', admin);

最佳答案

您需要使用https://www.npmjs.org/package/express-session初始化基于cookie的 session

var session = require('express-session');
//code
app.use(session({secret: 'keyboard cat'}));

关于node.js - 带有 cookie 的 ExpressJS session ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25001291/

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