我无法使用node-client-sessions

时间:2016-07-27 19:09:28

标签: node.js session express cookies

我正在构建一个NodeJS Web服务器,主要是静态文件(未来的玉),但是我希望能够对用户进行身份验证,所有这些都很顺利,直到我设置了cookie来实现减速。< / p>

我正在使用快递和客户端会话和我几乎是逐字的示例代码。 无论我在做什么,我似乎都无法设置cookie。

下面的代码我希望我错过了一个简单的问题!

**版本** NodeJS:v 6.2 客户会话:0.7.0

//** Required files
var express = require("express");
var bodyParser = require("body-parser");
var sessions = require("client-sessions");
var app = express();
var port = 8080;
var svr = app;

//** Middleware
app.use(express.static(__dirname + '/Public')); //** Use express globally to catch all requests and direct to Public folder
app.use(bodyParser.urlencoded({extended: false})); // create application/x-www-form-urlencoded parser
app.use(bodyParser.json()); // create application/json parser
app.use(sessions({
  cookieName: 'mySession', // cookie name dictates the key name added to the request object
  secret: 'kdheiuehiygft', // should be a large unguessable string
  duration: 24 * 60 * 60 * 1000, // how long the session will stay valid in ms
  activeDuration: 1000 * 60 * 5 // if expiresIn < activeDuration, the session will be extended by activeDuration milliseconds
}));

app.get("/", function(req, res){
    req.mySession.seenyou = true;
    res.setHeader('X-Seen-You', 'false');
    res.sendFile(__dirname + "/index.htm");
});

1 个答案:

答案 0 :(得分:0)

原因似乎是Express正在捕捉&#34;在我设置任何内容之前的输入并重定向到Public中的index.html文件。

现在创建了一个单独的登录页面,将数据发送到新路线,一切正常!