2016-01-21 1 views
0

Я использую экспресс, Node.js и MySQL здесь мой кодсессия неопределенная в nodejs с курьерским и MySQL

var bodyParser = require("body-parser"); 
var bcrypt = require('bcrypt'); 
var urlEncodedParser = bodyParser.urlencoded({extended: false}); 
var session = require('client-sessions'); 
var express = require('express'); 
var app = express(); 

//mysql 

var mysql = require("mysql"); 


app.post('/login', function(request, response){ 
    var body = request.body;   
    connection.query("select * from registeration where username='"+body.username+"' and password='"+body.pwd+"'",function(err, rows){ 
     if(err) { 
      console.log("username and password are not matched.");  
      response.end(); 
     } else { 
      console.log("done"); 
      response.send(rows); 
      request.usersession.user = user;   
      response.redirect(301, '/account'); 
     } 
    }); 

}); 

app.get('/account', function (request, response){  
    if(request.usersession && request.usersession.user) {   
     response.Send({requ: request.usersession.user}); 

     response.write('user detail ' + request.usersession.user[0]['username']); 
     console.log('account in'); 
    }else{ 
     console.log('session error'); 
     response.end(); 
    } 
}); 
+1

Может вам опубликуйте больше своего кода, я пропускаю некоторые объявления переменных. Например, пользователь и переменная сеанса. – GiveMeAllYourCats

+0

app.use (сессия ({ cookieName: 'usersession', секрет: '0GB2ZbiKBtz2flRPvlJZ9EtczCewBxXK', продолжительность: 24 * 60 * 60 * 1000, // как долго сессия будет оставаться в силе в мс activeDuration: 1000 * 60 * 5 })); –

+0

app.post ('/ Войти', функция (запрос, ответ) { \t вар тело = request.body; \t \t connection.query ("выберите * из Registeration, где имя пользователя = ' "+ body.username +" 'и password =' ​​"+ body.pwd +" '", function (err, user) { if (err) { console.log (" имя пользователя и пароль не совпадают. "); \t \t response.end (); } еще { console.log ("сделано"); \t \t request.usersession.user = пользователь; \t \t \t \t response.redirect (301, '/ account'); } \t}); }); –

ответ

0

Добавить перенаправление в/логине, когда еще не прошла проверку подлинности:

app.get('/account', function (request, response){  
    if(request.usersession && request.usersession.user) {   
     response.Send({requ: request.usersession.user}); 

     response.write('user detail ' + request.usersession.user[0]['username']); 
     console.log('account in'); 
    }else{ 
     console.log('session error'); 

     // here you should redirect to login: 
     response.redirect('/login'); 
     response.end(); 
    } 
}); 
+0

его отображение ошибок, отличных от mysql –

+0

очевидно: «session error» :) – Gavriel

+0

что мне делать? –

Смежные вопросы