使用Zappa启用会话的正确方法是什么?
Zappa速成课程暗示我只需要@use 'cookies', session: {secret: 'asdf'},但这并不是导出@request.session --我是否遗漏了什么?我调用下面的console.log会打印出undefined。
require('zappa') '0.0.0.0', '8080', ->
@use 'bodyParser',
'methodOverride',
@app.router,
'static',
'cookies',
'cookieParser',
session: {secret: '5465hfgh3t4grf'}
@configure
development: => @use errorHandler: {dumpExceptions: on}
production: => @use 'errorHandler'
@get '/': ->
console.log( @request.session )
@render 'index.eco', {loginkey: @request.sessionID}发布于 2012-02-29 17:39:02
您需要将session中间件放在路由之上:
require('zappa') '0.0.0.0', '8080', ->
@use 'bodyParser',
'methodOverride',
'cookies',
'cookieParser',
session: {secret: '5465hfgh3t4grf'},
@app.router,
'static'
@configure
development: => @use errorHandler: {dumpExceptions: on}
production: => @use 'errorHandler'
@get '/': ->
console.log( @request.session )
@render 'index.eco', {loginkey: @request.sessionID}否则,在路由执行之前,您的请求上不会有session。
更新:还注意到,像zappa中request上的其他属性一样,session被复制到this,因此您可以直接访问@session。request上也没有sessionId,但有@session.id,您可能需要以下路由:
@get '/': ->
console.log( @session )
@render 'index.eco', {loginkey: @session.id}https://stackoverflow.com/questions/9493931
复制相似问题