关于req.session的问题
来源:7-7 session演示
皮小西
2021-10-14
const handleBlogRouter = (req, res) => {
const method = req.method
// 登录
if (method === "GET" && req.path === "/api/user/login") {
// const { username, password } = JSON.parse(JSON.parse(req.body))
const { username, password } = req.query
const result = login(username, password)
return result.then(data => {
if (data.username) {
// 设置session
req.session.username = data.username
req.session.realname = data.realname
console.log(req.session) // { username: 'zhangsan', realname: '张三' }
return new SuccessModel("登陆成功")
}
return new ErrorModel("登陆失败")
})
}
// 登录验证的测试
if (method === 'GET' && req.path === '/api/user/login-test') {
console.log(req.session)
if (req.session.username) {
return Promise.resolve(
new SuccessModel({
session: req.session
})
)
}
return Promise.resolve(
new ErrorModel('尚未登录')
)
}
}
老师您好,我想请教一下,
req.cookie是保存在本地浏览器中(可以在浏览器的Network中看到cookie值),而req.session是保存在服务器中的(而在本地浏览器中不存在)。浏览器根据cookie的userid值去读取session的值。
我这么理解请问对吗?
谢谢。
写回答
2回答
-
对的。
00 -
皮小西
提问者
2021-10-14
// 设置session req.session.username = data.username req.session.realname = data.realname
还想请问一下,那这一步的设置session赋值,是在本地浏览器设置session,还是在服务器中设置的?
我还是不太理解。麻烦指点一下,谢谢!
012021-10-15
相似问题