Tag: 会话

使用mongo-connect不会在AppFog上清除会话

我的会话没有在AppFog上清除。 我的设置如下: Node.js(与快递)mongoDB连接mongo的会议存储mongoHQ托pipe我的数据库。 我已经把我的本地设置连接到使用mongoHQ db实例,所有的会话都被清除了。 但是,当从AppFog运行应用程序的sesssions不会被清除。 我的会话中间件: app.use(express.session({ secret: 'my secret here', cookie: { maxAge: new Date(Date.now() + 360000)}, store: new MongoStore({ url: connectionEnv.dbConnection }) })); 这里是一个使用和清除会话的例子: console.log(req.session.errors); // Session has a value as intended res.render('contact', { user: username, email: email, messages: req.session.messages, errors: req.session.errors }); req.session.messages = null; req.session.errors = null; // The session […]

Node.js客户端会话不创buildreq.session

我遇到了node-client-sessions问题,所以我尝试使用https://github.com/fmarier/node-client-sessions-sample中的示例应用程序。 然而,即使这个基本的应用程序,我得到TypeError: Cannot read property 'username' of undefined – req.session是未定义的。 以下是完整的代码: #!/usr/bin/env node const app = require('express')(), clientSessions = require("client-sessions"); app.use(clientSessions({ secret: '0GBlJZ9EKBt2Zbi2flRPvztczCewBxXK' // CHANGE THIS! })); app.get('/', function (req, res){ if (req.session.username) { res.send('Welcome ' + req.session.username + '! (<a href="/logout">logout</a>)'); } else { res.send('You need to <a href="/login">login</a>.'); } }); app.get('/login', function (req, […]

node.js导出模块function

我有一个node.js问题。 我正在创build一个博客,我有两个档案:sessions.js users.js 在sessions.js中: function SessionsDAO(db) { this.startSession = function(username, callback) {….} } module.exports.SessionsDAO = SessionsDAO; 在users.js中 var Session = require('./sessions'); var s = new Session(); s.startSession(username); 但显示我的错误: object is not a function TypeError: object is not a function

NodeJS + ExpressJS + RedisStore会话未定义

我经历了许多同样的问题,但是各种解决scheme都没有帮助。 我正在使用Redis将会话存储在集群NodeJS + ExpressJS应用程序中,但会话始终未定义。 这是我的快速安装程序: var express = require('express'), RedisStore = require('connect-redis')(express), Config = require('./config/config'), cluster = require("cluster"), QueryManager = require('./service/query_manager'), app = express(); // — Index — // function renderSplash(req, res) { res.render(…); } function renderIndex(req, res) { res.render(…); } app.get('/', function(req, res) { if(req.session.user === null) { renderSplash(req, res); } else { renderIndex(req, […]

在明确的js会话中未定义的错误

我想保存会话参数中的数据。 /* Modules */ /* App Settings */ // session settings app.use(express.cookieParser()); app.use(express.session({secret: '1234567890QWERTY'})); app.get('/', function(req,res){ if(req.session.param){ console.log('OK!'); }else{ console.log('not found session data'); } }); app.listen(app.get('port')); 当我运行这个代码 TypeError: Cannot read property 'param' of undefined at C:\Users\frknbasaran\campusca\app.js:25:16 提前致谢 会话将不会工作,除非你有这3个顺序: app.use(express.cookieParser()); app.use(express.session({secret: '1234567890QWERTY'})); app.use(app.router);

Nodejs将3个会话对象传递给所有视图

我想将会话对象传递给我的所有视图,所以我不必在每个路由中手动传递它们。 在我用来学习nodejs的书中,有一个例子,但是对于expression式2: //session routes module.exports = function(app){ app.dynamicHelpers({ session: function(req, res){ return req.session; } }); app.get(…… res.render(…. …. } 所以dynamicHelpers已被replace。 我在stackoverflow上find了一些东西: app.use(function(req, res, next){ res.locals.session = req.session; next(); }); 我也发现快速文档 app.use(function(req, res, next){ app.locals.session = req.session; next(); }); 无论如何,在我看来我有像<%=session.user%>和我的路线中的某处我做req.session.user = "John" ,我总是得到500内部错误:会话未定义。 有什么想法吗 ?

在Express.js中不能使用connect-redis

我正在学习Express.js,并学习了如何使用cookie会话模块处理会话。 我试图使用快速会话,但我有问题。 以前,我使用cookie会话而不是快速会话,而memoryStore完美运行。 但是,我不能使用cookie-session的connect-redis,因为这个原因,我安装了express-session,但是使用它,我不能使用任何types的存储,也不能使用memoryStore。 Redis DB在redistogo上,它的URI看起来像这样:(为了安全起见,尽pipe这只是为了实践)redis:// redistogo:e34d3 ******************* **** f4bb@albacore.redistogo.com:10072 / 但是,当我运行“节点应用程序”,它打印一个错误。 我的package.json: { "name": "application-name", "version": "0.0.1", "author": "Me <me@gmail.com>", "license": "MIT", "private": true, "scripts": { "start": "node app" }, "dependencies": { "express": "4.xx", "cookie-parser": "1.xx", "express-session": "1.xx", "connect-redis": "2.xx" } } “npm ls”显示如下: ├─┬ connect-redis@2.0.0 │ ├── debug@0.8.0 │ └── redis@0.10.1 ├─┬ cookie-parser@1.0.1 […]

在Express js会话中存储一个实例

我正在使用expressjs会话,我有一个实例需要存储: function a(){this.name="";} var ins = new a(); req.session['user'] = ins; 当我下次得到res.session ['user']的时候,这个对象不是instanceof a,并且它不能访问任何原型方法,我怎样才能在会话中存储对象的ref,看起来会话会转换它到json对象

你可以在RESTFUL环境中使用NodeJs Passport Sessions吗?

我正在尝试在RESTful环境中设置护照,并不能让用户序列化到会话数据中。 虽然login和注册工作很好。 我或多或less地遵循scotch.io的教程,但是我做了一些调整,以便通过RESTful API工作。 简而言之,这是我的服务器设置: var express = require("express"); // v 4.8.5 var cookieParser = require("cookie-parser"); // v 1.3.3 var bodyParser = require("body-parser"); // v 1.9.0 var session = require("express-session"); // v 1.8.2 var passport = require("passport"); // v 0.2.1, passport-local is v 1.0.0 var app = express(); require("./config/Passport")(passport); app.use( morgan('dev') ); app.use( cookieParser(secret) ); […]

NodeJS Passport会话序列化 – 反序列化用户进入会话?

我正在NodeJS中实现一个Web应用程序,用户在访问每个页面之前需要login。 我使用Passport模块实现了用户authentication。 根据护照指南页面,我在护照configuration中创build了serializeUser和deserializeUser用户函数,以便使用会话跟踪。 在deserializeUser函数中,我从cookie中获取存储的信息,传递给函数的第一个参数,然后在数据库中的用户表中search以检索用户详细信息,并将其传递给done函数。 但是我看到,在每个请求中,反序列化函数被调用并查询数据库来检索用户的详细信息,并将其传递给done函数。 我的问题是,无论是不断查询数据库(在性能和逻辑上),获取用户对象,是正确的做法,还是我已经理解和实现了错误的东西。 可能做的事情不是真的需要?