Zappa中的会话(node.js)



使用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,因此您可以直接访问@sessionrequest上也没有sessionId,但有一个@session.id,您可能需要以下路线:

@get '/': -> 
  console.log( @session )
  @render 'index.eco', {loginkey: @session.id}

相关内容

  • 没有找到相关文章

最新更新