Hola foros de la web, estoy aprendiendo nodejs y utilizando el framework express, he instalado express-session para el usos de sesiones, el problema es que no guarda la session, la validacion y el para guardar la sesion lo tengo en una carpeta routers.
en index.js la tengo asi
Código Javascript
:
Ver originalvar express=require("express");
var io=require("socket.io");
var bodyParser=require("body-parser");
var cookieParser=require("cookie-parser");
var session=require("express-session");
var sessiones=require("./routers/admin.js");
var app=express();
app.set("view engine","jade");
app.use(express.static("public"));
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extended:true}));
app.use(cookieParser());
app.use(session({
secret:"misecreto",
resave:false,
saveUninitialized:true,
cookie:{secure:true}
}));
var mysql=require("mysql");
var conexion=mysql.createConnection({
host:"localhost",
user:"root",
password:"",
database:"conaxport",
port:3306
});
conexion.connect(function (error) {
if (error) {
throw error;
}
else{
console.log("conexion correcta mysql.");
}
});
conexion.end();
app.get("/",function (pet,res) {
res.render("index");
});
app.get("/conaxadm",function (pet,res) {
//var guia="1";
//var sess=pet.session;//$_SESSION[''];
//sess.adm="usuario";//$_SESSION['adm']="usuario"
res.render("conaxadm/index");
});
app.post("/conaxadm",sessiones.validacion);
app.get("/conaxadm/administrador",sessiones.bienvenida);
app.listen(5001);
console.log("Puerto 5001");
y en routers/admin.js lo tengo asi
Código Javascript
:
Ver originalvar mysql=require("mysql");
var conexion=mysql.createPool({
connectionLimit:100,
host:"localhost",
user:"root",
password:"",
database:"conaxport",
port:3306
});
exports.validacion=function (pet,res) {
console.log(pet.session);
var usR=pet.body.usadm;
var psR=pet.body.pasadm;
var regs="SELECT * from administrador where nam_adm='"+usR+"' and pass_adm='"+psR+"'";
conexion.getConnection(function (error,conectT) {
conectT.query(regs,function (err,result) {
if (err) {
console.log(err);
}
else{
if (result.length>0) {
var admin=[{idad:result[0].id_adm,nmad:result[0].nam_adm,crad:result[0].cor_adm,tpad:result[0].tip_adm}];
pet.session.adm=result[0].id_adm;
pet.session.datadm={nmad:result[0].nam_adm,crad:result[0].cor_adm,tpad:result[0].tip_adm}
console.log(pet.session.adm);
res.redirect("/conaxadm/administrador");
}
else{
res.render("conaxadm/index",{a:"Usuario o contraseña incorrectos"});
}
}
});
});
}
exports.bienvenida=function (pet,res) {
console.log(pet.session.adm);
if (pet.session.adm) {
res.render("conaxadm/admin",{ad:pet.session.adm,bd:pet.session.datadm});
}
else{
res.redirect("/conaxadm");
}
}
guardo la sesion con el id obtenido de la base datos mysql pero al momento de bienvenida para que lo dirije a la ruta en la consola me muestra que no se guardó la sesión y como no existe lo envia a la ruta que puse donde ingresa el nombre de usuario y contraseña.