在服务器端保存用户会话,而在client.side上不保存任何内容

时间:2019-07-15 10:02:18

标签: node.js

是否可以在服务器端保存用户会话而无需在客户端保存任何内容?

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

我正在使用NodeJS。

1 个答案:

答案 0 :(得分:0)

我想这就是您要寻找的东西。这里我使用了express框架和express-session包来实现会话。 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"));