Node.js客户端会话不创buildreq.session
我遇到了node-client-sessions问题,所以我尝试使用https://github.com/fmarier/node-client-sessions-sample中的示例应用程序。 然而,即使这个基本的应用程序,我得到TypeError: Cannot read property 'username' of undefined
– req.session
是未定义的。 以下是完整的代码:
#!/usr/bin/env node const app = require('express')(), clientSessions = require("client-sessions"); app.use(clientSessions({ secret: '0GBlJZ9EKBt2Zbi2flRPvztczCewBxXK' // CHANGE THIS! })); app.get('/', function (req, res){ if (req.session.username) { res.send('Welcome ' + req.session.username + '! (<a href="/logout">logout</a>)'); } else { res.send('You need to <a href="/login">login</a>.'); } }); app.get('/login', function (req, res){ req.session.username = 'JohnDoe'; console.log(req.session.username + ' logged in.'); res.redirect('/'); }); app.get('/logout', function (req, res) { req.session.reset(); res.redirect('/'); }); app.listen(3000);
package.json
有:
"dependencies": { "express": ">= 3", "client-sessions": ">= 0.0.9" }
无论我去本地主机:3000或locahost:3000 /login我得到TypeError: Cannot read property 'username' of undefined
这是怎么回事? 不应该创buildreq.session
节点客户端会话吗?
是的,事实certificate,只是req
属性的默认名称从session
更改为session_state
。 改变它解决了它。