Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/42.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在nodejs express中处理用户名和传入会话_Javascript_Node.js_Session_Express_Session Cookies - Fatal编程技术网

Javascript 在nodejs express中处理用户名和传入会话

Javascript 在nodejs express中处理用户名和传入会话,javascript,node.js,session,express,session-cookies,Javascript,Node.js,Session,Express,Session Cookies,我有一个nodejs express应用程序正在运行,我是这方面的新手 在我的主页(“/”)中,我有以下内容: app.get('/', function(req, res){ // check if the user's credentials are saved in a cookie // if (req.cookies.user == undefined || req.cookies.pass == undefined){ res.rend

我有一个nodejs express应用程序正在运行,我是这方面的新手

在我的主页(“/”)中,我有以下内容:

app.get('/', function(req, res){
    // check if the user's credentials are saved in a cookie //
        if (req.cookies.user == undefined || req.cookies.pass == undefined){
            res.render('login', { title: 'KrishiMoney' });
        }   else{
    // attempt automatic login //
            AM.autoLogin(req.cookies.user, req.cookies.pass, function(o){
                if (o != null){
                    req.session.user = o;
                    res.redirect('/home');
                }   else{
                    res.render('login', { title: 'KrishiMoney' });
                }
            });
        }
    });
现在,当我打印req.cookies.user时,它会给我用户名。无论如何,在这些路径中,我有一个管理路径:

app.get('/admin', function(req, res){
        var admin_username = 'admin'
        var admin_password = 'nansat'
        console.log(req.cookies.user);
        //if (req.session.user != admin_username && req.session.pass != admin_password) res.redirect('404');
        (res.render('admin_login', {title : 'Admin Page'}));
        });

在这里,当我键入相同的命令req.cookies.user时,它给出了未定义的结果。我如何捕获用户并传递路由?

您在哪里(和)包含了cookie中间件?有人可能会帮你,但在cookies中保留user/pass确实是一种糟糕的做法。另外,您如何知道您的req.cookies.user第一次打印正确?你把console.log放在哪里了?cookie中间件在app.js中,我在('/')中打印了req.cookies.user,打印得很好。我理解我应该将方法从cookie转换为会话,但对于这种特殊情况,我需要知道解决方案是什么。我的意思是,如果管理路由在cookie中间件之前,您将无法访问它。没有,在cookie中间件之后…发现问题,没有正确引用json对象。谢谢