【发布时间】:2014-04-24 17:11:57
【问题描述】:
只是想不通这个。我发现的有关 express session 的所有内容都表明它几乎可以正常工作,但对我来说并非如此。
我的整个应用配置
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。我想将它用于用户身份验证 - 非常基本。出于某种原因,这对我来说非常困难。
我正在使用express 3.5.0。
我的控制器 atm 如下所示:
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
【问题讨论】:
-
显示你正在使用的代码
req? -
您在会话中间件之前有
app.use app.router,因此您的所有路由都将在会话设置之前进行处理。你为什么要这样订购它们? -
并不认为这很重要,实际上......
标签: node.js session express undefined