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ユーザーがありません。ここで何が間違っていますか?

4

1 に答える 1

0

問題は、そこに記載されている環境がないことです。5 行目を次のように変更します。

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

そして、それはすべて虹と蝶でした.

于 2013-04-19T22:37:44.613 に答える