Foros del Web » Programando para Internet » Node.js »

La sesion no guarda o caduca nodejs

Estas en el tema de La sesion no guarda o caduca nodejs en el foro de Node.js en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 28/09/2015, 10:39
Avatar de albert925  
Fecha de Ingreso: mayo-2014
Ubicación: Colombia
Mensajes: 10
Antigüedad: 10 años, 6 meses
Puntos: 0
Información La sesion no guarda o caduca nodejs

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 original
  1. var express=require("express");
  2. var io=require("socket.io");
  3. var bodyParser=require("body-parser");
  4. var cookieParser=require("cookie-parser");
  5. var session=require("express-session");
  6. var sessiones=require("./routers/admin.js");
  7.  
  8. var app=express();
  9.  
  10. app.set("view engine","jade");
  11. app.use(express.static("public"));
  12. app.use(bodyParser.json());
  13. app.use(bodyParser.urlencoded({extended:true}));
  14. app.use(cookieParser());
  15. app.use(session({
  16.     secret:"misecreto",
  17.     resave:false,
  18.     saveUninitialized:true,
  19.     cookie:{secure:true}
  20. }));
  21. var mysql=require("mysql");
  22. var conexion=mysql.createConnection({
  23.     host:"localhost",
  24.     user:"root",
  25.     password:"",
  26.     database:"conaxport",
  27.     port:3306
  28. });
  29. conexion.connect(function (error) {
  30.     if (error) {
  31.         throw error;
  32.     }
  33.     else{
  34.         console.log("conexion correcta mysql.");
  35.     }
  36. });
  37. conexion.end();
  38. app.get("/",function (pet,res) {
  39.     res.render("index");
  40. });
  41. app.get("/conaxadm",function (pet,res) {
  42.     //var guia="1";
  43.     //var sess=pet.session;//$_SESSION[''];
  44.     //sess.adm="usuario";//$_SESSION['adm']="usuario"
  45.     res.render("conaxadm/index");
  46. });
  47. app.post("/conaxadm",sessiones.validacion);
  48. app.get("/conaxadm/administrador",sessiones.bienvenida);
  49. app.listen(5001);
  50. console.log("Puerto 5001");

y en routers/admin.js lo tengo asi

Código Javascript:
Ver original
  1. var mysql=require("mysql");
  2. var conexion=mysql.createPool({
  3.     connectionLimit:100,
  4.     host:"localhost",
  5.     user:"root",
  6.     password:"",
  7.     database:"conaxport",
  8.     port:3306
  9. });
  10. exports.validacion=function (pet,res) {
  11.     console.log(pet.session);
  12.     var usR=pet.body.usadm;
  13.     var psR=pet.body.pasadm;
  14.     var regs="SELECT * from administrador where nam_adm='"+usR+"' and pass_adm='"+psR+"'";
  15.     conexion.getConnection(function (error,conectT) {
  16.         conectT.query(regs,function (err,result) {
  17.             if (err) {
  18.                 console.log(err);
  19.             }
  20.             else{
  21.                 if (result.length>0) {
  22.                     var admin=[{idad:result[0].id_adm,nmad:result[0].nam_adm,crad:result[0].cor_adm,tpad:result[0].tip_adm}];
  23.                     pet.session.adm=result[0].id_adm;
  24.                     pet.session.datadm={nmad:result[0].nam_adm,crad:result[0].cor_adm,tpad:result[0].tip_adm}
  25.                     console.log(pet.session.adm);
  26.                     res.redirect("/conaxadm/administrador");
  27.                 }
  28.                 else{
  29.                     res.render("conaxadm/index",{a:"Usuario o contraseña incorrectos"});
  30.                 }
  31.             }
  32.         });
  33.     });
  34. }
  35. exports.bienvenida=function (pet,res) {
  36.     console.log(pet.session.adm);
  37.     if (pet.session.adm) {
  38.         res.render("conaxadm/admin",{ad:pet.session.adm,bd:pet.session.datadm});
  39.     }
  40.     else{
  41.         res.redirect("/conaxadm");
  42.     }
  43. }

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.
  #2 (permalink)  
Antiguo 16/08/2016, 15:06
 
Fecha de Ingreso: octubre-2015
Ubicación: España
Mensajes: 21
Antigüedad: 9 años, 1 mes
Puntos: 6
Respuesta: La sesion no guarda o caduca nodejs

Buenas,

¿Has probado a modificar el parámetro resave a true? También puedes usar un store de mysql como: https://www.npmjs.com/package/express-mysql-session

Saludos.
  #3 (permalink)  
Antiguo 21/08/2016, 12:00
Avatar de jsstoni  
Fecha de Ingreso: enero-2015
Ubicación: Maracaibo
Mensajes: 82
Antigüedad: 9 años, 9 meses
Puntos: 4
Respuesta: La sesion no guarda o caduca nodejs

utiliza para generar session:
Código Javascript:
Ver original
  1. pet.session.regenerate(function(){
  2.     pet.session.usuario = 'jsstoni';
  3. });
__________________
Desarrollo web Front End Realtime NodeJs

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:56.