gpt4 book ai didi

javascript - request.session.regenerate 不起作用,未定义 'undefined'

转载 作者:行者123 更新时间:2023-12-03 05:27:56 26 4
gpt4 key购买 nike

我遇到了这个问题:

request.session.regenerate(function() {

request.session.user = username;
return response.send(username);
});

登录时我总是收到未定义的错误:

Cannot read property 'regenerate' of undefined

如果我只是离开return response.send(username);它工作正常,但是我需要创建一个 session 。

可能是什么问题?

更多代码

router.post('/login', bodyParser, function(request, response) {
var username = request.body.username;
var password = request.body.password;


adminUser.findOne({
username: username
}, function(err, data) {
if (err | data === null) {
return response.send(401, "User Doesn't exist");
} else {
var usr = data;

if (username == usr.username && bcrypt.compareSync(password, usr.password)) {

request.session.regenerate(function() {

request.session.user = username;
return response.send(username);

});
} else {
return response.send(401, "Bad Username or Password");
}
}
});
});

添加:app.use(session());

现在可以工作了。

最佳答案

将我的评论作为答案,因为它似乎已经解决了您的问题...

Express 不会自动具有 request.session。您必须使用一些中间件来创建诸如快速 session 之类的中间件。如果您使用的是express-session,那么您需要添加:

const session = require('express-session');

app.use(session({secret: 'my super secret'}));

关于javascript - request.session.regenerate 不起作用,未定义 'undefined',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41079210/

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