注销不清除会话,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

回到顶部