简体   繁体   中英

session undefined in nodejs with express and mysql

I am using express, node.js and mysql here is my code

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

Add redirect to /login when not authenticated yet:

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM