相关疑难解决方法(0)

使用express/redis进行会话存储时,'session'未定义

我正在尝试在我的快递应用程序中使用redis进行会话.

我做以下事情:

var express = require('express');
var RedisStore = require('connect-redis')(express);

app.configure('development', function(){     
    app.use(express.session({ secret: "password", 
                            store: new RedisStore({
                                          host: "127.0.0.1",
                                          port: "6379",
                                          db: "mydb"
                                        })  
          }));
Run Code Online (Sandbox Code Playgroud)

稍后,在我的应用程序中,如果我执行以下操作:

var whatever = req.session.someProperty;
Run Code Online (Sandbox Code Playgroud)

我明白了:

无法读取未定义的属性'someProperty'

这表明req.session是未定义的 (我可以在我的配置部分的console.log条目中看到这一点)

我肯定有redis运行,并且可以看到我的应用程序最初连接到它(使用redis-cli监视器)

session redis node.js express

21
推荐指数
2
解决办法
2万
查看次数

req.session使用快速会话未定义

我刚刚开始学习如何在节点和表达中使用cookie,我希望得到一些帮助,让它工作.我试着在GitHub上关注expressjs/session教程,但是我得到req.sessionundefined,所以我无法设置或获取任何值.

我的目标是将用户的名字和姓氏保存到cookie中,以便自动填充输入字段.我不确定我是否需要使用cookie-parser,或者是否express-session可以单独处理.我不确定如何继续,因为我不熟悉cookie和快速会话.

所有帮助表示赞赏!提前致谢.

let express = require('express');
let app = express();
let credentials = require('../modules/credentials.js');
let session = require('express-session');
let sessionOptions = {
  secret: credentials.cookieSecret,
  cookie: {
    maxAge:269999999999
  },
  saveUninitialized: true,
  resave:true
};

if (app.get('env') === 'production') {
  app.set('trust proxy', 1);
  sessionOptions.cookie.secure = true;
}
else {
  sessionOptions.cookie.secure = false;
}

app.use(session(sessionOptions));
let router = express.Router();
app.use(router);

let request = require('request');
let db = require('../modules/queries');
let bodyParser = require('body-parser'); …
Run Code Online (Sandbox Code Playgroud)

node.js express

13
推荐指数
3
解决办法
1万
查看次数

nodejs表达req.session未定义

只是想不出来这个.我发现关于快递会议的一切都说得很有效,然而,对我来说并非如此.

我的整个应用配置

app.configure ->
  app.set 'port', process.env.PORT || 3000
  app.set 'views', path.join(__dirname, 'views')
  app.set 'view engine', 'jade'
  app.use express.favicon()
  app.use express.logger('dev')
  app.use express.json()
  app.use express.urlencoded()
  app.use express.methodOverride()
  app.use app.router
  app.use express.static(path.join(__dirname, 'public'))
  app.use express.bodyParser()
  app.use express.cookieParser()
  sessionStore = new express.session.MemoryStore
  app.use express.session secret: 'key', store: sessionStore
Run Code Online (Sandbox Code Playgroud)

但这req.session只是undefined.我想用它来进行用户身份验证 - 非常基本.出于某种原因,事实证明对我来说非常艰难.

我在用express 3.5.0.

我的控制器atm看起来像这样:

class AuthenticationController

  signUp: (req, res) ->
    console.log req.body._id
    console.log req.session
    res.status(200).send req.body

module.exports = AuthenticationController
Run Code Online (Sandbox Code Playgroud)

和路线:

format = require './middlewares/format'
AuthenticationController = …
Run Code Online (Sandbox Code Playgroud)

session undefined node.js express

3
推荐指数
1
解决办法
6381
查看次数

NodeJS express-session req.session未定义

我正在开发一个简单的登录系统,但似乎没有保存会话

我已经制作了一个简单的测试代码,谁能告诉我它有什么问题?我正在运行登录,之后我正在运行is_logged但是我从未登录,并且两个会话都是未定义的

var port = process.env.PORT || 8080;
var express = require('express');
var app = express();


var cookieParser = require('cookie-parser');
var session = require('express-session');



app.use(cookieParser());
app.use(session({
    secret: "fd34s@!@dfa453f3DF#$D&W", 
    resave: false, 
    saveUninitialized: true, 
    cookie: { secure: true }
}));



 app.post('/test_login', function(req, res){

    req.session.users_schema = 1;
    req.session.user_doc = 2;

    res.json({"first": req.session.users_schema, "second": req.session.user_doc});
});
 app.post('/test_is_loggin', function(req, res){

    if( !req.session.users_schema || !req.session.user_doc ) { 

        console.log("no");
        res.json({"first": 1, "second": 1});
    }
    else {

        console.log("no2");
        res.json({"first": req.session.users_schema, "second": req.session.user_doc});
    }

 });


app.listen(port);
console.log('Listening on port …
Run Code Online (Sandbox Code Playgroud)

cookies session login node.js express

2
推荐指数
1
解决办法
6310
查看次数

标签 统计

express ×4

node.js ×4

session ×3

cookies ×1

login ×1

redis ×1

undefined ×1