我正在构建一个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");
});
答案 0 :(得分:0)
原因似乎是Express正在捕捉&#34;在我设置任何内容之前的输入并重定向到Public中的index.html文件。
现在创建了一个单独的登录页面,将数据发送到新路线,一切正常!