admin管理员组文章数量:814820
如何在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专业版
回答如下:您需要在此处提供多种功能:
- 您需要能够将用户与传入请求相关联
- 您需要能够独立支持多个用户。
这意味着您不能将用户名存储在模块级别或全局变量中,因为这样所有输入连接都会使用该用户名,而这不是您想要的。
使用Express进行此类操作的通常方法是使用express-session。这将自动为任何传入请求设置cookie,然后为您提供一个对象,您可以在其中存储该用户的数据。每次用户向您的服务器发出请求时,他们的浏览器都会发送会话cookie,express-session可以查找该会话cookie并找到与该用户一起使用的数据对象。
然后,您将使用该对象先设置用户名,然后在以后的请求中获取该特定用户的用户名。从那时起(直到会话终止),只要用户向服务器发出请求,您就可以在会话对象中查找其用户名。您也可以将其他特定于用户的数据放在该会话对象中。
使用默认的基于内存的存储机制时,express-session非常易于使用,您可以在the doc中查看示例。
本文标签: 如何在Express JS中管理多个用户名
版权声明:本文标题:如何在Express JS中管理多个用户名? 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/biancheng/1715143156a821531.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论