每个用户nodejs的动态连接

时间:2017-07-13 18:13:38

标签: node.js

使用nodeJs创建了一个Web应用程序,我现在有一个情况

考虑一个包含列的表 用户名,密码,IP地址,数据库名称,dbusername,dbpassword等...

  1. 来自网络应用程序的登录应连接到此表并对用户进行身份验证。
  2. 在为该用户读取数据库详细信息列时进行身份验证。
  3. 成功登录后,nodejs连接应使用此加载的数据库(仅限此用户)。

  4. 现在,打开另一个应用程序实例并使用不同的用户登录,这次节点应该为该用户使用数据库(可能相同/不同)。

  5. 作为单线程模型,是否可以为nodeJS中的每个用户提供动态连接? 在这种情况下,打开和关闭连接(使用不同的db config)是否可以正常工作?

    谢谢, 萨兰

1 个答案:

答案 0 :(得分:0)

  1. express-session附带管理会话的功能。 https://github.com/expressjs/session
  2. passport.js是node.js中非常好的身份验证解决方案。 http://passportjs.org/
  3. 有很多关于passport.js和会话管理的教程。

    例如:https://scotch.io/tutorials/easy-node-authentication-setup-and-local

    此外,会话与单线程模型无关。即使您是多线程的,也不要在发送页面后为每个用户保持连接。 Cookie用于识别访问该网站的用户。 Node.js具有本机功能,也可以启动Node.js进程集群以利用多核系统。在这种情况下,通过使用像redis这样的东西,甚至可以跨进程管理会话。

    关于群集:https://nodejs.org/api/cluster.html