2013-03-22 237 views
1

因此,我正在開發REST API,我使用express,mongojs,connect-mongo。而我無法弄清楚如何將數據存儲在會話:會話存儲不存儲數據

var express = require('express'), 
mongojs = require("mongojs"), 
MongoStore = require('connect-mongo')(express); 
GLOBAL.db = mongojs.connect(databaseUrl, collections); 
app.configure(function() { 
     app.use(express.bodyParser()); 
     app.use(express.cookieParser()); 
     app.use(express.session({ 
      key: 'express.sid', 
      secret: 'secret', 
      maxAge: new Date(Date.now() + 3600000), 
      store: new MongoStore({ db: databaseUrl, collection: 'sessions' }) 
     })); 
     app.use(app.router); 
     app.use(express.logger('dev')); /* 'default', 'short', 'tiny', 'dev' */ 
    }); 

用戶嘗試使用登錄:

curl -X POST http://localhost:2048/auth -d @./sampleData/authUser.json -H "Content-Type: application/json" --cookie myCookie.txt 

當用戶成功登錄我做的:

req.session.user = {} 
req.session.user.id = currentUser._id.toString() 
req.session.user.userame = currentUser.username 
req.session.user.firstName = currentUser.firstName 
req.session.user.lastName = currentUser.lastName 
req.session.user.title = currentUser.title 
req.session.user.location = currentUser.location 
res.send(500) 

但是,當我發送下一個請求

curl -X GET http://localhost:2048/projects --cookie myCookie.txt 

req.session沒有我分配的用戶。我在這裏做錯了什麼?

+0

不express.session自動設置req.session.user?如果是這樣,覆蓋它似乎是個不好的主意。 – 2013-03-22 20:57:06

+0

它不是爲我做的..可能是我失去了一些東西。我沒有做.basicAuth()因爲我無法弄清楚如何做到這一點(我是一個noob)。 – Hadesara 2013-03-22 21:49:44

回答

0

好的問題是我沒有在那裏提到的環境。將第5行改爲:

app.configure('development', function() { 

之後就是所有的彩虹和蝴蝶。