首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在Node.js中维护会话

在Node.js中维护会话
EN

Stack Overflow用户
提问于 2013-11-07 13:35:27
回答 11查看 2.4K关注 0票数 15

如何在Node.js中维护我的会话?

例如,我想使用Node.js在会话中存储UserID。我如何在Node.js中做到这一点?我也可以在PHP中使用Node.js会话吗?

我希望在Node.js中包含以下内容:

代码语言:javascript
运行
复制
<?php $_SESSION['user'] = $userId; ?>
EN

回答 11

Stack Overflow用户

发布于 2015-12-17 19:30:19

首先安装会话包

代码语言:javascript
运行
复制
npm install express-session --save

在服务器页面上初始化会话

代码语言:javascript
运行
复制
var express = require('express');

var session = require('express-session');

var app     = express();

app.use(session({secret: 'ssshhhhh', saveUninitialized: true, resave: true}));

存储会话

代码语言:javascript
运行
复制
sess = req.session;

var user_id = 1;

sess.user_id = user_id;

访问会话

代码语言:javascript
运行
复制
sess = req.session;

sess.user_id
票数 15
EN

Stack Overflow用户

发布于 2015-02-05 01:57:56

让我把你的问题分成两部分。

  1. 如何在Node.js中维护我的会话?

回答:使用express-session middleware来维护会话

  • 我也可以在Node.js会话中使用它吗?

回答:是的,您也可以在PHP中使用该会话,但请记住,您必须将该会话存储在数据库中。

票数 9
EN

Stack Overflow用户

发布于 2013-11-07 16:07:09

ExpressJS has official session middleware,它也是当前Node.js事实上的标准web框架。

如果你想自己实现会话支持,这就是通常的实现方式,每次请求时都会这样做:

  1. 检查cookie是否包含会话ID
    • 如果不包含,请创建存储在内存、文件或数据库(或这些对象的组合)中的会话对象,并将响应cookie中的会话id设置为与此对象的标识符匹配。
    • 如果cookie确实包含会话ID,请通过cookie查找会话对象

  1. 提供步骤1中获得/创建的对象作为请求的持久化会话对象。

您还必须实现某种超时机制,以便在一段时间后删除会话对象,至少从内存中删除。

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19828686

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档