0

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}
4

1 に答える 1

2

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、ルートが実行されるまで、いわばリクエストに応じられません...

更新:request zappaの他のプロパティと同様に、sessionが にコピーされるため、直接thisアクセスできることにも注意してください。on@sessionもありませんが、あります。代わりに以下のルートが必要になる場合があります。sessionIdrequest@session.id

@get '/': -> 
  console.log( @session )
  @render 'index.eco', {loginkey: @session.id}
于 2012-02-29T09:39:02.220 に答える