使用express和mysql在nodejs中未定义session

时间:2016-01-21 11:43:12

标签: javascript mysql node.js session express

我使用express,node.js和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 个答案:

答案 0 :(得分:0)

未经过身份验证时,将重定向添加到/ login:

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();
    }
});