首页 > 解决方案 > 在服务器端保存用户会话,而不在 client.side 上保存任何内容

问题描述

可以在服务器端保存用户会话而不在客户端保存任何内容吗?

用户会话将被保存,直到关闭浏览器或重新加载到另一个域。

我正在使用 NodeJS。

标签: node.js

解决方案


我想这就是你要找的。这里我使用了 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"));

推荐阅读