如何在login后请求用户数据,Node.JS
大家好,我是Node新手,请耐心等待。
无论如何,我目前正在为我的新节点应用程序的身份validation。 到目前为止,我有能力获得一切基本工作(login,注册,注销)。 我现在进入我的用户个人资料的设置页面,但我无法访问{{username}}或{{email}},例如,它保留空白或抛出一个错误。
我想知道如何让用户名,电子邮件和其他信息保留在会话中,或者一旦我的用户login后就可以访问它,以及以后如何向会话添加更多信息(这很重要,因为我需要做到这一点)。
这是我的代码:
注册(不包括validation)
var newUser = new User({ username: username, email:email, password: password }); User.createUser(newUser, function(err, user){ if(err) throw err; console.log(user); req.flash('success_msg', 'You are registered and can now login');
login:
router.post('/login', passport.authenticate('local', {successRedirect:'/', failureRedirect:'/users/login',failureFlash: true}), function(req, res) { res.redirect('/'); });
我不确定我需要显示什么代码,但是如果你们需要看别的东西来帮助我,请告诉我。
我用快递,护照和车把来使用Node.JS。
谢谢!
我想知道如何让用户名,电子邮件和其他信息保留在会话中,或者一旦我的用户login后就可以访问它,以及以后如何向会话添加更多的信息(这很重要,因为我需要做到这一点)。
这个用例有一个非常好的NPM模块:
https://github.com/expressjs/session
我已经做了很好的经验。
只需通过NPM安装,然后:
var session = require('express-session')
这是你如何使用它:
// Use the session middleware app.use(session({ secret: 'keyboard cat', cookie: { maxAge: 60000 }})) // Access the session as req.session app.get('/', function(req, res, next) { if (req.session.views) { req.session.views++ res.setHeader('Content-Type', 'text/html') res.write('<p>views: ' + req.session.views + '</p>') res.write('<p>expires in: ' + (req.session.cookie.maxAge / 1000) + 's</p>') res.end() } else { req.session.views = 1 res.end('welcome to the session demo. refresh!') } })
正如我从你的描述得到的是,你有关于会议的问题。 为此,您可以访问https://www.npmjs.com/package/session-storage以将session-storage包含到您的项目中,这将有助于您更好地完成工作。