javascript - 在带有express和mysql的nodejs中未定义 session

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

最佳答案

未通过身份验证时添加重定向到/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();
    }
});

关于javascript - 在带有express和mysql的nodejs中未定义 session ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34922888/

相关文章:

javascript - 为什么 (0 < 5 < 3) 返回 true?

javascript - 如何使用渐变样式设置 svg 进度条

javascript - 单击表单的提交按钮后如何刷新页面?

mysql - 在 vb.net 中将 mysql 数据库表显示到 datagridview 中

node.js - 在 Node.js 中,setImmediate() 回调是在当前事件循环标记上执行,还是在下一个事件循环标记上执行?

javascript - Vuejs 从数据属性返回 [object Object]

mysql - 使用 MAX 随机排列记录

MySQL Sum 分组问题

node.js - mustache-js View 不会使用 nodemon 自动刷新

jquery - 在 node-webkit 中使用 JQuery 是不可能的