Красный узел множественных контекстов - PullRequest
0 голосов
/ 28 июня 2018

У меня есть приложение Node-Red.

Пользователь входит в систему с учетными данными, хранящимися в базе данных sqlite.

На основе информации, возвращаемой из базы данных, она устанавливает набор переменных для использования в других потоках.

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

Однако, если другой пользователь входит в систему в одно и то же время, все эти переменные сбрасываются, чтобы принадлежать Пользователю 2, и поэтому пользователь 1 теперь имеет всю информацию пользователя 2.

Есть ли способ установить переменные так, чтобы они могли существовать одновременно, чтобы каждый раз, когда пользователь заходил в приложение, у него был его собственный контекст?

Любая помощь здесь будет оценена

1 Ответ

0 голосов
/ 28 июня 2018

Поток красного узла не знает, кто его запускает. Это детализация уровня приложения.

Если у вас есть способ идентифицировать пользователя, который запустил поток, вы можете использовать эту информацию для создания уникальных контекстных ключей для них.

Например, скажем, msg.req.user содержит уникальный идентификатор пользователя. Вы могли бы тогда сделать:

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

...