【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

相关推荐
濮水大叔几秒前
浅论CabloyJS全栈框架提供的“两级页签”机制
typescript·node.js·next.js
meilindehuzi_a2 分钟前
深入理解 Ajax 异步请求:从 XMLHttpRequest 到 Node.js HTTP 服务实践
http·ajax·node.js
用户7229134504526 分钟前
数字故障美学:用 Canvas 实现 RGB 偏移、像素排序与扫描线
javascript
小森林之主8 分钟前
深入正则表达式:核心语法与实战剖析
javascript·python·正则表达式·编程技巧·字符串处理
持敬chijing10 分钟前
Web渗透之前后端漏洞-CSRF(跨站请求伪造)
安全·web安全·网络安全·xss·csrf
tiancaijiben17 分钟前
阿里云云备份(Cloud Backup)全量对接与使用指南
数据库·oracle
SwJieJie22 分钟前
Webpack vs Vite 构建工程化实战(Vue 项目深度解析)
前端·vue.js·webpack·node.js
sulikey28 分钟前
数据库中等值连接与自然连接的区别。为什么不建议使用自然连接?
数据库·sql·mysql·等值连接·自然连接
alexander06834 分钟前
JavaScript 中,对象内部函数的几种等价写法,对象外部的 几种等价写法
javascript
云水一下36 分钟前
Vue.js从零到精通系列(八):项目实战——构建一个完整的电商后台管理系统
前端·javascript·vue.js