使用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}
您需要在路由上安装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}