首页 > 解决方案 > 节点红色多上下文

问题描述

我有一个 Node-Red 应用程序。

用户使用存储在 sqlite 数据库中的凭据登录。

根据从数据库返回的信息,它设置了一堆用于其他流程的变量。

flow.set('sid', userid);
flow.set('fname',forename);
flow.set('sname',surname);

但是,如果另一个用户同时登录,所有这些变量都会被重置为属于用户 2,因此,用户 1 现在拥有用户 2 的所有信息。

有没有办法设置变量,让两者可以同时存在,让用户每次访问应用程序时都有自己的上下文呢?

在这里的任何帮助将不胜感激

标签: javascriptnode-red

解决方案


节点红色流不知道“谁”在触发它。那是应用程序级别的详细信息。

假设您有办法识别触发流程的用户,您可以使用该信息为他们构建唯一的上下文键。

例如,假设msg.req.user包含用户的唯一 ID。然后你可以这样做:

flow.set(msg.req.user+':sid', userid); flow.set(msg.req.user+':fname',forename); flow.set(msg.req.user+':sname',surname);


推荐阅读