node.js - 在服务器端保存用户会话,而不在 client.side 上保存任何内容
问题描述
可以在服务器端保存用户会话而不在客户端保存任何内容吗?
用户会话将被保存,直到关闭浏览器或重新加载到另一个域。
我正在使用 NodeJS。
解决方案
我想这就是你要找的。这里我使用了 express 框架和 express-session 包来实现会话。 快速会话
const express = require('express');
const app = express();
const bodyparser = require('body-parser');
app.use(bodyparser.json());
var session = require('express-session');
app.use(session({
secret : 'ok',
saveUninitialized : false,
resave : true,
}));
var ssn;
const user = {username : "User1"}
app.post('/login',
function (req,res)
{
ssn = req.session;
ssn.user = user.username;
console.log(ssn);
res.send("User name : \n"+user.username);
res.end('done');
}
);
app.post('/data',
function (req,res)
{
ssn = req.session;
if(ssn.user)
{
res.send(ssn.user);
}
else
{
res.send("you are not logged in");
}
}
);
app.post('/logout',
function(req,res)
{
ssn = req.session;
ssn.destroy();
res.send("Logout");
}
);
app.listen(3000,console.log("Running Server running at 3000"));
推荐阅读
- c# - 将运行 docker 容器的 C# 单元测试结果发布到 azure blob 存储
- c# - LINQ GroupBy Source = A Destination = B 或 Source = B 和 Destination = A
- amazon-web-services - Ansible 中未定义的项目
- python - 检查变量的更好方法以避免多个变量的多个条件
- javascript - bufferGeometry setFromPoints 与 react-three-fiber
- asp.net - Environment.UserName 在 IIS 上托管后不起作用。使用 ASP.net core 2.0 编写代码
- python-3.x - 使用 Wand 找不到“MagickCompareImagesLayers”错误
- mysql - 获取具有按日期分组的日期时间的对象 ID 组
- django - Django 模板 URL 和 NoReverseMatch
- python-3.x - 使用 Python、Spacy 从电子邮件中提取主题的个人信息