简体   繁体   English

在带有Express和mysql的nodejs中未定义会话

[英]session undefined in nodejs with express and mysql

I am using express, node.js and mysql here is my code 我正在使用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();
    }
});

Add redirect to /login when not authenticated yet: 在尚未通过身份验证时,将重定向添加到/ 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();
    }
});

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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