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

MOD IS HACKS

自几周以来,我一直在从事实时聊天应用程序的工作。首先,我使用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专业版

jfriend00

您在这里需要几个功能:

  1. 当用户注册用户名时,您需要以某种方式保存它,以便将其与来自该特定浏览器的任何将来请求相关联。
  2. 您需要能够独立支持多个用户。
  3. 您需要能够防止来自不同用户的重复用户名。

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

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

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

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

然后,您可能还需要某种类型的用户列表(可能只是在内存中,或者可能是在更持久的存储中,具体取决于您的需求),以便可以确保当有人选择新名称时,没有其他人在使用该名称。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在单个查询中搜索多个用户名

来自分类Dev

如何在单个查询中搜索多个用户名

来自分类Dev

如何在SQL Server 2014 Express数据库中添加用户名和密码

来自分类Dev

如何在gitolite中为同一用户名添加多个发布文件?

来自分类Dev

如何在添加用户名的同时向目录中的多个文件添加一行

来自分类Dev

如何在Node.js中调用需要用户名和密码的API

来自分类Dev

如何在Node.js中创建以用户名命名的目录

来自分类Dev

如何在 laravel 和 vue.js 中显示用户名而不是 id(外键)

来自分类Dev

如何使终端中的用户名更小?

来自分类Dev

如何在MySQL中更改root用户名

来自分类Dev

如何在Django中获取用户名

来自分类Dev

如何在Ansible命令中传递用户名/密码

来自分类Dev

如何在Angular 8中获取Windows用户名

来自分类Dev

如何在PHP中验证用户名

来自分类Dev

如何在字符串中搜索用户名?

来自分类Dev

如何在URL Django中添加用户名

来自分类Dev

如何在随机消息中包含用户名[Python]

来自分类Dev

如何在irc中隐藏我的用户名?

来自分类Dev

如何在Zorin OS中启用输入用户名

来自分类Dev

如何在Windows 7中更改用户名?

来自分类Dev

如何在Linux中按ID查找用户名?

来自分类Dev

如何在mysql中索引用户名

来自分类Dev

如何在Apache Wicket中从CAS检索用户名

来自分类Dev

如何在WSL中更改默认用户名?

来自分类Dev

Django:如何在SessionWizardView中请求用户名?

来自分类Dev

您如何在Manjaro中更改用户名?

来自分类Dev

如何在MediaWiki中更改用户名?

来自分类Dev

如何在Android中存储用户名/密码?

来自分类Dev

如何在Grav中禁用用户名验证?

Related 相关文章

热门标签

归档