Tag: 会话

如何在express.js中启用会话

我有node.js 5.1.1和express.js 4.13.3。 我读了一本书,并说为了启用快速会话,您必须在启动一个新项目时执行express -e -s nameOfYourProject 。 但是,这本书有点老了,我得到error: inknow option '-s' 。 这本书的例子,像这样使用会话, var sess = this.req.session; 。 整个章节是关于注册和login。 那么,如何启用会话? 我必须安装一个模块,还是默认启用?

如果Session cookie是安全的,则CSURF不起作用

当我将cookie设置为安全的时候,我很难过,节点的csrf不起作用。 //Load Cooike Parser app.use(cookieParser(secret)); //Load Session Store app.use(require('express-session')({ secret:secret, cookie:{ maxAge: 1000 * 60 * 60 * 24, // 1 day, secure: true, httpOnly: true }, store: sessionStore })); //Load POST data parser //Form sent should be in JSON format app.use(bodyParser.json()); //Initiate CSRF on middleware //set the CSRF cookie Header app.use(csrf()); app.use(function(req,res,next){ res.cookie('XSRF-TOKEN',req.csrfToken()); next(); […]

快速会话不会保存任何值

在我重新加载或移动到另一个页面之前, console.log(req.session)正好打印我保存的值,但不再是。 我尝试了req.session.save(),req.session.regenerate({..})或同时使用.save()和.reload()。 我不明白为什么会发生。 我正在为这个6个小时挣扎。 app.js var session = require('express-session'); app.use(session({ cookie: { maxAge:30 * 60 * 1000, expires: 30* 60 * 1000, httpOnly: true }, rolling: true, resave: true, saveUninitialized: true, secret: '~~~~~' })); 路线/ index.js router.get('/', function(req, res, next) { req.session.test = true; req.session.save(); console.log(req.session); res.render('index'); }); router.get('/reg', function(req, res){ console.log(req.session); res.render('another'); } […]

跟踪两台不同服务器之间的用户

我有2个服务器: 1)使用Spring引导的端口8443上的Apache Tomcat服务器 2)端口443上的节点服务器 他们都是https。 现在应用程序的devise方式是服务器1处理login页面,服务器2处理仪表板 所以用户使用:https // localhost:8443 / loginlogin 并成功login后,我做了一个 window.open(https // localhost:443 / dashboard?userName = xyz,“_ self”); 将用户redirect到由节点服务器托pipe的仪表板。 现在我的问题是,如果用户直接点击https // localhost:443 / dashboard?userName = xyz,那么他可以访问错误的仪表板。 用户只能在login后才能访问仪表板。 但是我不能使用会话,因为会话不能在2台服务器之间共享。 那么如果用户在服务器1中闲置,他怎么能保持一个轨道?他可以看到服务器2中的仪表板? 此外,我正在计划购买一个域名,但我如何主办2端口? (8443&443) 我想要类似的东西 1)https //example.com/login(端口8443) 2)https://example.com/dashboard?userName=xyz(端口443)

Node.js:照顾多个会话

我正在研究一个非常简单的Node.js服务器。 用户通过一个普通的用户名/密码的forms进行authentication,服务器 – 检查数据库后 – 授予或拒绝访问其他页面。 要跟踪每个用户在做什么,我将生成一个UUIDlogin发送。 当客户端询问或发送任何东西给服务器时,它将包含这个UUID,以便服务器知道谁是用户。 这些问题是关于这些UUID的生命周期的: 当我必须从我的本地数组中删除UUID? 也就是说,当用户“断开连接”,我想如果它明确注销或超时不活动。 如果他将智能手机暂时搁置一下,我不想断开连接。 如果用户在会话还活着的时候重新加载页面,我想避免一个新的login:我需要一种方法来了解来自同一用户的连接。 你将如何实现这一目标?

套接字io客户端特定variables

如何将会话特定信息存储在套接字io中? var client={}; //is this static across all sockets (or connected clients) that are connected? io.on('connection', function(socket){ client.connectiontime=Date.now(); }); //on another io.on('connection') for the same connected client io.on('connection', function(socket){ store(client.connectiontime); } 如何将客户端variables仅用于与当前连接的客户端相关的操作(如果它被认为是静态的)? 谢谢。

AWS lambda无服务器网站会话维护

我开发了一个使用node.js作为后端的网站。 最近我试图使它无服务器,并部署到lambda。 我将重写大部分代码,但是在用户login后还没有想出如何维护会话。我使用“express-session”模块,会话数据全部logging在数据库中。 说实话我对会议没有很深的理解。 我search了谷歌,没有find我所需要的。 有没有人有一些使用lambda维护会话的示例代码? 或任何资源。 非常感谢!

使用快速会话在MEAN应用程序中检查有效会话的最佳方法是什么?

在MEAN项目中,我一直使用express-sessions ( https://www.npmjs.com/package/express-sessions )和angular-route来pipe理用户login/authentication。 一旦用户login或注册,他们的用户数据(例如整个User )就被分配给一个会话,然后用户被redirect到一个新的页面: #!/dashboard 。 为了防止用户在没有首先注册或login的情况下访问#!/dashboard ,我从我的angular度控制器快速地进行“会话检查”,该angular度控制器传递到angular度工厂,快速ping服务器端做一个会话对象的检查。 如果一个会话存在,我返回一个布尔值true ,如果一个会话不存在,我发送布尔值false 。 然后,我做了一个条件语句:如果为true,继续在#!/dashboard页面上(用户会话有效)继续抓取post或用户数据等。 如果为false,则redirect到/login页面所在的位置(防止用户访问#!/dashboard )。 这完成了我的目标,即防止用户在浏览器中进入/#!/dashboard ,而无需login/注册,但这似乎是一个昂贵的解决scheme,并不是很干净。 有没有一个更清洁或更好的方式来执行此“会话检查”,以防止没有有效的login会话访问我的后端页面? 我已经使用了快递中间件,也许有办法快速检查每个请求? 有没有人有任何build议,我可以改善我的会议检查?

ReferenceError:请求没有在NodeJS Session中定义

我是NodeJS中的新成员,我正在尝试使用会话。 但是我坚持这个错误。 任何forms的帮助表示赞赏。 代码 : – var express = require('express'); var jsonFile = require('jsonfile'); var NodeSession = require('node-session'); var router = express.Router(); session = new NodeSession({secret: 'Q3UBzdH9GEfiRCTKbi5MTPyChpzXLsTD', 'lifetime': 60 * 1000, 'secure': true, 'encrypt': true}); session.startSession(request, response, function () { // server handler goes here // req.session available }); function restrict(req, res, next) { if […]

添加到Node.js express-session的variables在下一个请求中是未定义的

我正在实现一个简单的loginfunction并将数据存储在快速会话中,但无法恢复。 在login函数中的loginDb.js文件中,我将用户ID存储在会话variables中,并且在getLoginStatus函数中,我试图访问userId,但是它的callback是未定义的。 我已经经历了许多与类似问题有关的post,但对我来说没有任何帮助。 不知道我在这里做错了什么。 下面是代码。 server.js var express = require('express'); var pg = require('pg'); var cookieParser = require('cookie-parser'); var bodyparser = require('body-parser'); var session = require('express-session'); var path = require('path'); const port = 3000; const loginroute = require('./Routes/login'); var app=express(); app.use(bodyparser.json()); app.use(bodyparser.urlencoded({ extended: false })); app.use(cookieParser()); app.use(session({ secret: 'This is a secret', resave: true, saveUninitialized:true, […]