注销不清除会话,session.destroy不起作用
我正在开发一个快速应用程序,我需要实现登录和注销。注销不清除会话,session.destroy不起作用
我在登录时使用以下代码创建了一个会话。
req.session.login_id = rows[0][0]["login_id"]; req.session.save(function(err) {
if(err){
console.log('Error in creating session.')
}
else {
res.redirect('/profile')
}
})
但下面不工作,清除会话:
router.get('/logout',(req,res,next)=>{ req.session.destroy(function (err) {
if (!err){
res.redirect('/')
}else{
return next(err)
}
})
})
回答:
我找到了这个问题的答案...
的问题是在MySQL查询中的用于登录(@login_id)的临时变量未初始化并用于包含垃圾值。
原来的查询是
SELECT login_id into @login_id from tbl_login WHERE email=in_email AND password=in_password AND status='active';
我改成了
SET @login_id = NULL; SELECT login_id into @login_id from tbl_login WHERE email=in_email AND password=in_password AND status='yes';
现在@login_id默认为NULL,只包含用户是否是有效的值。
以上是 注销不清除会话,session.destroy不起作用 的全部内容, 来源链接: utcz.com/qa/262582.html