【Node-RED】安全登陆时,账号密码设置

【Node-RED】安全登陆时,账号密码设置


前言

Node-RED 在初始下载完成时,登录是无账号密码的。基于安全性考虑,本期博文介绍在安全登陆时,如何进行账号密码设置 。当然,此处可以参考官方使用指南Securing Node-RED,里面有更为详细的介绍。而本博文只对用到的进行日志记录,方便后续回顾查看

实现步骤

密码生成

在使用指南中,对于密码有如下介绍:

Note that the passwords are securely hashed using the bcrypt algorithm.

翻译过来,就是:请注意,密码是使用bcrypt算法安全散列的

这里涉及到了NodeJS 的bcryptjs 依赖,当然,可以采用下载依赖然后生成密码的方式实现。但在官方指南中,对于密码生成,提供了2种方式,比较而言,可能更加方便。

由于下载的最新版本是 v3.1.1,因此可采用第一种方式进行密码生成:

powershell 复制代码
node-red admin hash-pw

对应会输出加密后的密码。

setting.js 文件修改

完成密码设置后,打开NodeRed的设置文件setting.js ,如果没有找到,也可以在cmd 中输入开启指令node-red,输出的Settings file 路径即为我们需要打开的文件路径。

将文件中如下代码,注释打开:

javascript 复制代码
adminAuth: {
        type: "credentials",
        users: [{
            username: "admin",
            password: "$2b$08$igJZH0SQceXYgbNXqlFTzus7QnN2/8MYs0Tx1/LNst69KU9nIWQZ.",
            permissions: "*"
        },
        {
            username: "admin1",
            password: "$2b$08$nM1gIJDoaq/msTjpR9Md4eK/C0YTMXW6EHMEdI84BiCL3A2hawIKO",
            permissions: "read"
        }]
    },

可以直接定位adminAuth 查找,应该只有一处注释代码,还有一个是说明。我这边是已经修改过的代码

修改完成后,重启即可。

安全权限

笼统的说,支持的权限有2种:

  • 只读(read)
  • 可读写(*)

但在Node-RED 0.14后,可以进行更加细致的设置,如登录时长等等,官方说明文档中都有详细介绍,可以直接参考使用Securing Node-RED

相关推荐
米小虾38 分钟前
AI Agent 安全实战指南:当智能体开始"不听话",开发者该如何应对?
人工智能·安全·agent
山河木马3 小时前
渲染管线-计算得到gl_Position(顶点着色器)之后续GPU流程
javascript·webgl·图形学
这个DBA有点耶3 小时前
NULL不是空——数据库里最反直觉的设计,90%新人踩过的坑
数据库·mysql·代码规范
竹林8183 小时前
用 The Graph 查询链上数据实战:从手搓 RPC 到 Subgraph,我的 NFT 项目数据加载快了 10 倍
前端·javascript
这个DBA有点耶5 小时前
AI写的SQL跑崩了生产库,这锅谁背?
数据库·人工智能·程序员
镜舟科技6 小时前
Databricks 再提 LTAP,AI 时代的数据底座为何重回大一统叙事?
数据库·架构·agent
kyriewen6 小时前
别再每次都 Google 了:我整理了前端日常最常踩的 10 个 Git 坑,附速查表
前端·javascript·git
Databend7 小时前
从湖仓升级为 Agent 时代的数据控制面,Snowflake 和 Databricks 有哪些布局
大数据·数据库·agent
SmartBoyW7 小时前
深入ECMAScript规范:彻底搞懂JS隐式类型转换与底层ToPrimitive机制
前端·javascript
用户852495071848 小时前
解密 JavaScript 中的 this:谁才是真正的调用者?
javascript·面试