Javascript 在nodejs express中处理用户名和传入会话
我有一个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
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对象。谢谢