0
我正在使用nodejs,并且我正尝试访问会话变量,该会话变量与定义和设置会话变量的路由不同。它一直告诉我会话变量没有被定义!会话变量未定义在nodejs中设置为值的范围内
这是我设置会话变量:
var http = require('http');
var express = require('express');
var bodyParser = require('body-parser');
var mysql = require('mysql');
var urlencodedParser = bodyParser.urlencoded({ extended: false })
var app = express();
var dateFormat = require('dateformat');
var nodemailer = require('nodemailer');
var cookieParser = require('cookie-parser')
var session = require('express-session');
app.use(cookieParser());
app.use(session({
secret: "This_is_a_secret",
resave: false,
}));
app.post('/auth',urlencodedParser,function (req, res) {
conn.query('SELECT * FROM users WHERE user_name="'+req.body.username+'" AND user_pass="'+req.body.password+'"',function(err,res1){
if(err) {
console.log("Error!");
res.send('-2');
}
else{
if(res1.length==0) {
console.log("No matching!");
res.send('-2');
}
else if(res1.length==1){
req.session.username = req.body.username; //This is my session variable
console.log("Successful login with: " + req.session.username); //This works fine
res.send('1');
}
}
});
});
这是我试图访问req.session.username第二条路线:
app.post('/privilage',urlencodedParser,function (req, res) {
console.log("privilage: " + req.session.username); //Here is where I need to check and it says "undefined"
if(!req.session.username){
res.send('-2');
}
else res.send('1');
});
什么是错的究竟?
感谢所有:)
一些变化,你可以发布你server.js或index.js文件?在哪里添加会话中间件? –
此外,在旁注中,此代码似乎很容易受到SQL注入的影响。 – ROAL
我为你编辑了我的帖子。谢谢。关于注射,我打算稍后修复它。 –