javascript - 节点红色多上下文
问题描述
我有一个 Node-Red 应用程序。
用户使用存储在 sqlite 数据库中的凭据登录。
根据从数据库返回的信息,它设置了一堆用于其他流程的变量。
flow.set('sid', userid);
flow.set('fname',forename);
flow.set('sname',surname);
但是,如果另一个用户同时登录,所有这些变量都会被重置为属于用户 2,因此,用户 1 现在拥有用户 2 的所有信息。
有没有办法设置变量,让两者可以同时存在,让用户每次访问应用程序时都有自己的上下文呢?
在这里的任何帮助将不胜感激
解决方案
节点红色流不知道“谁”在触发它。那是应用程序级别的详细信息。
假设您有办法识别触发流程的用户,您可以使用该信息为他们构建唯一的上下文键。
例如,假设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);
推荐阅读
- typescript - Typescript 函数,其返回类型是数组中值的并集
- html - 更改脚注在 Jekyll 中的位置
- aws-event-bridge - AWS EventBridge - 阅读事件档案
- impala - 我可以使用列名作为数据吗
- jdbc - Snowflake JDBC 驱动程序“在每个表上选择以摄取”权限
- python - Foursquare API 使用 Python 中的列表调用单个场所
- sql - Postgres/SQL 中针对保留关键字的列命名约定是什么?
- python - 使用python在复杂图像的白色边界上裁剪图像
- angular - 我如何获得 Angular 输入字段值?
- elasticsearch - ES 版本升级 | 5.X 至 7.X