nodejs 会话变量未定义
nodejs session variable undefined
我在登录请求中创建了一个会话变量,但无法在注销请求中访问它(它是未定义的)。
我只希望已登录的用户请求注销,如果未登录的用户请求注销,则将他们重定向到登录 page.I 我在下面的代码中使用 express-session 作为中间件。
这是会话代码
var app = express();
app.set('trust proxy', 1); // trust first proxy
app.use(session({
secret: 'nikhilsingh',
resave: false,
saveUninitialized: true,
cookie: { secure: true }
}));
这是登录功能
app.post('/login',bodyparserencoder,function(req,res){
console.log('login requested');
let query=require('../'+'dbconnect/'+'login.js');
let exists=query.login({username:req.body.Username,password:req.body.Password},res,req);
console.log('everything done, exists= ' + exists);
req.session.loggedin=true;
});
这里是注销
app.get('/logout',function(req,res){
console.log(req.session.loggedin);
if(req.session.loggedin){
console.log('logout requested');
res.render('Addmie.ejs');}
else{
console.log('login to continue');
}
});
我是 nodejs 的新手,如果我正在做某事,请详细说明并解释 wrong.Thanks。
我通过从 cookie 对象中删除安全属性解决了这个问题,无论如何我不明白到底是什么导致了这个问题。
我在登录请求中创建了一个会话变量,但无法在注销请求中访问它(它是未定义的)。 我只希望已登录的用户请求注销,如果未登录的用户请求注销,则将他们重定向到登录 page.I 我在下面的代码中使用 express-session 作为中间件。 这是会话代码
var app = express();
app.set('trust proxy', 1); // trust first proxy
app.use(session({
secret: 'nikhilsingh',
resave: false,
saveUninitialized: true,
cookie: { secure: true }
}));
这是登录功能
app.post('/login',bodyparserencoder,function(req,res){
console.log('login requested');
let query=require('../'+'dbconnect/'+'login.js');
let exists=query.login({username:req.body.Username,password:req.body.Password},res,req);
console.log('everything done, exists= ' + exists);
req.session.loggedin=true;
});
这里是注销
app.get('/logout',function(req,res){
console.log(req.session.loggedin);
if(req.session.loggedin){
console.log('logout requested');
res.render('Addmie.ejs');}
else{
console.log('login to continue');
}
});
我是 nodejs 的新手,如果我正在做某事,请详细说明并解释 wrong.Thanks。
我通过从 cookie 对象中删除安全属性解决了这个问题,无论如何我不明白到底是什么导致了这个问题。