Node.js Express req.session未定义 [英] nodejs express req.session undefined
本文介绍了Node.js Express req.session未定义的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
只是想不通这一点.我发现的有关快速会话的所有内容几乎都可以正常工作,但是,对我而言并非如此.
Just can't figure this one out. Everything I find about express session says pretty much it just works, that, however, is not the case for me.
我的整个应用程序配置
app.configure ->
app.set 'port', process.env.PORT || 3000
app.set 'views', path.join(__dirname, 'views')
app.set 'view engine', 'jade'
app.use express.favicon()
app.use express.logger('dev')
app.use express.json()
app.use express.urlencoded()
app.use express.methodOverride()
app.use app.router
app.use express.static(path.join(__dirname, 'public'))
app.use express.bodyParser()
app.use express.cookieParser()
sessionStore = new express.session.MemoryStore
app.use express.session secret: 'key', store: sessionStore
但是req.session
只是undefined
.我想将其用于用户身份验证-非常基本.由于某种原因,这对我来说很难.
But the req.session
is just undefined
. I want to use it for user authentication - pretty basic. For some reason it turns out pretty tough for me.
我正在使用express 3.5.0
.
我的控制器atm看起来像这样:
My controller atm looks like this:
class AuthenticationController
signUp: (req, res) ->
console.log req.body._id
console.log req.session
res.status(200).send req.body
module.exports = AuthenticationController
和路线:
format = require './middlewares/format'
AuthenticationController = require './controller'
class Routes
constructor: (app) ->
throw new Error('app undefined') unless app
@controller = new AuthenticationController
@app = app
route.apply @ for key, route of @routes
routes:
sign_up: ->
@app.post '/sign_up', format.onlyJSON, @controller.signUp
module.exports = Routes
推荐答案
根据 loganfsmyth 的建议,只需移动
app.use express.cookieParser()
sessionStore = new express.session.MemoryStore
app.use express.session secret: 'key', store: sessionStore
在app.use app.router
上方,它只是单击了.谢谢.
above the app.use app.router
and it just clicked. Thanks.
这篇关于Node.js Express req.session未定义的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文