0

私はapp.jsを持っています

var express = require('express')
  , routes = require('./routes')
  , MemoryStore = new express.session.MemoryStore
  , app = express();

app.configure(function(){
  app.set('port', process.env.PORT || 3000);
  app.set('views', __dirname + '/views');
  app.use(express.bodyParser());
  app.use(express.methodOverride());
  app.use(express.cookieParser('restservice'));
  app.use(express.session({store: MemoryStore, secret: '123456', key: 'sid', maxAge: 60000 }));
  app.use(routes);  
  app.use(app.router);
});

ルート/index.js

var express = require('express')
  , tools = require('./../functions')
  , app = module.exports = express();

app.get('/user/:id',tools.isAdmin,function(req,res){
    console.log('isadmin');
});

そしてfunction.js

module.exports = {
  isAdmin: function (res,req,next) {
    if (req.session.level >= 16)
        next();
    else {
        res.json({result:-1});
    }
  }
};

だから私の問題は、http://myadmin.com/user/3にアクセスするとエラーが発生することですreq.session undefined

functions.js ビューの観点から、セッション情報にアクセスするにはどうすればよいですか?

4

2 に答える 2

0

問題はこの行にありました

isAdmin: function (res,req,next) {

どういうわけか私は要求で解像度を切り替えました。と

isAdmin: function (req,res,next) {

これで、セッション情報を取得できます。

于 2013-03-12T20:29:20.007 に答える