【发布时间】:2023-03-14 16:38:01
【问题描述】:
我在登录请求中创建了一个会话变量,但无法在注销请求中访问它(未定义)。 我只希望已登录的用户请求注销,如果未登录的人请求注销然后将他们重定向到登录页面。我在下面的代码中使用 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的新手,如果我做错了什么,请详细说明并解释。谢谢。
【问题讨论】:
-
req.session.loggedIn 资本 i
-
什么!?我没有让你感到抱歉。
-
if(req.session.loggedIn) 而不是 if(req.session.loggedin)
标签: node.js express session session-variables express-session