最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

如何在Express JS中管理多个用户名?

网站源码admin19浏览0评论

如何在Express JS中管理多个用户名?

如何在Express JS中管理多个用户名?

自几周以来,我一直在从事实时聊天应用程序。首先,我使用PHP作为后端语言,但对此感到不舒服,因此我切换到Node.js。我正在使用ExpressJS。但是,现在我有一个问题。我有一个页面,网站要求用户输入他/她的名字。 (假设我们的网站是localhost:8080,单击提交后,信息(此处的名称)就会发布到localhost:8080 / register)因此,在后端我会这样做(考虑快递当app = express())时已经是必需的了:

app.post('/register', (req, res) => {
  var name = req.body.name // assuming the variable containg the username was **name**
  // So, from here I can use the username any where I want
})

但是问题是,如果另一个人输入了他/她,那么服务器上所有用户的名称都会被最后输入的用户名所改变。那么,我该怎么做才能保持其名称唯一?我的平台:Windows 10专业版

回答如下:

您需要在此处提供多种功能:

  1. 您需要能够将用户与传入请求相关联
  2. 您需要能够独立支持多个用户。

这意味着您不能将用户名存储在模块级别或全局变量中,因为这样所有输入连接都会使用该用户名,而这不是您想要的。

使用Express进行此类操作的通常方法是使用express-session。这将自动为任何传入请求设置cookie,然后为您提供一个对象,您可以在其中存储该用户的数据。每次用户向您的服务器发出请求时,他们的浏览器都会发送会话cookie,express-session可以查找该会话cookie并找到与该用户一起使用的数据对象。

然后,您将使用该对象先设置用户名,然后在以后的请求中获取该特定用户的用户名。从那时起(直到会话终止),只要用户向服务器发出请求,您就可以在会话对象中查找其用户名。您也可以将其他特定于用户的数据放在该会话对象中。

使用默认的基于内存的存储机制时,express-session非常易于使用,您可以在the doc中查看示例。

发布评论

评论列表(0)

  1. 暂无评论