请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

express-session登陆验证的问题

双越老师,我配置完session以后,用app.post(’/login’…)接口进行登录验证,登陆成功然后req.session.username加入data[0].username(这里是lisi),这时console.log(req.session)里面有username:lisi,但我在浏览器进入/text的路径后,显示未登录,然后console.log(req.session.username)显示的是undefind(如图3第一行,当然console.log(req.session)也显示根本没加进去),但奇怪的是我又写了一个post的接口(app.post(’/exec’…)这个接口),用postman试验,显示的是已登录,console.log(req.session)username:lisi是存在的,如图二,这是为什么,好几天都没找到原因,请双越老师指点,谢谢

const express = require(‘express’);
const getLogin = require(’./getData’);
var cookieParser = require(‘cookie-parser’);
var session = require(‘express-session’);
const app = express();
app.use(express.urlencoded({ extended: true }));
app.use(cookieParser());
app.use(session({
secret: ‘michael_qin#’,
cookie: {
path: ‘/’,
httpOnly: true,
MaxAge: 1000 * 60 * 60 * 24
}
}))

app.post(’/login’, (req, res) => {
const username = req.body.username;
const password = req.body.password;
getLogin(username, password).then(data => {
console.log(data);
console.log(data[0]);
if (data[0]) {
req.session.username = data[0].username;
console.log(req.session);
console.log(req.session.username);
res.send(‘登陆成功’);
} else {
res.send(‘登陆失败’);
}
});
});
1
app.post(’/exec’, (req, res) => {
console.log(req.session);
if (req.session.username) {
res.send(‘已登录’);
} else {
res.send(‘未登录’);
}
});
2
app.get(’/text’, (req, res) => {
console.log(req.session.username);
console.log(req.session);
if (req.session.username) {
res.send(‘已登录’);
} else {
res.send(‘未登录’);
}
});
3
app.listen(3000, () => {
console.log(‘服务器已经启动’);
});

正在回答 回答被采纳积分+3

1回答

双越 2021-03-26 23:03:26

额,,,我看了半天,没看明白你的问题是啥,内容太多了。

你能否再试着简化一下问题?

0 回复 有任何疑惑可以回复我~
  • 提问者 MichaelQin #1
    双越老师,就是登陆成功以后往session里面加入username,在别的接口显示session里的username是undefind
    回复 有任何疑惑可以回复我~ 2021-03-27 18:18:06
  • 双越 回复 提问者 MichaelQin #2
    给你一个解决思路。你先抛开你的项目环境,重新单独从 0 建一个 express 的空白项目,然后制作一个简单的登陆和 session 功能,别的功能一点都别做,多余的代码一行都别写,只要是跟这个功能、这个 bug 无关的代码全部删掉。即,用最简单的代码复现你的问题。我想,你按照这个步骤做,做完了就能自己找到问题。我经常用这种方法,很管用。你去试试。
    回复 有任何疑惑可以回复我~ 2021-03-27 18:32:01
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信