Node-RED 设置登录权限

Node-RED 提供了内置的 “adminAuth” 功能,使你能够通过用户名和密码来保护对 Node-RED 编辑器的访问。本文将向你展示如何配置登录权限,以及一些相关的最佳实践。以下是设置登录权限的步骤:

步骤一:配置 AdminAuth

在 Node-RED 的设置文件 “settings.js” 中找到 “adminAuth” 部分。将 type 设置为 “credentials”,表示使用用户名和密码进行身份验证。在 users 数组中,添加包含用户名、密码哈希和权限的对象。

Node-RED 设置登录权限_第1张图片

为了安全地设置密码,你可以使用 node-red-admin 工具生成密码的哈希值。(也使用 bcrypt 库或者在线哈希生成工具来生成密码的哈希值。)

在 Node环境下,安装 node-red-admin 工具。你可以使用以下命令全局安装:

npm install -g node-red-admin
node-red-admin hash-pw

输入你想要的密码并按回车键。工具将生成密码的哈希值。

Node-RED 设置登录权限_第2张图片

确保将生成的哈希密码替换 settings.js 文件中 password 字段的值。

步骤二:权限设置

在 Node-RED 的权限设置中,* 号通常表示所有权限。使用 * 可以授予用户全部权限,包括读、写、部署、调试等。建议只授予可信用户,以确保系统的安全性。

Node-RED 中的权限分为几个级别,主要包括以下几种:

  1. read: 允许用户查看工作区中的流程。
  2. write: 允许用户编辑和创建流程,包括创建和编辑节点。
  3. deploy: 允许用户部署更改,包括启动和停止流程。
  4. debug: 允许用户使用调试功能,例如在节点上设置调试节点。
  5. status: 允许用户查看流程的状态信息。
  6. settings: 允许用户访问 Node-RED 的设置。

以下是一个权限设置的例子(用户1:admin admin;用户2:reader 123456):

adminAuth: {
        type: "credentials",
        users: [{
            username: "admin",
            password: "$2b$08$3pXFyrc2ZyuxwlpRbJDwq.6IveqCb9M6mGh.PSfFjp8sq39KYL0mO",
            permissions: "*"
        },{
			username: "reader",
            password: "$2b$08$oYvtQTLylB28FArpVmdPJ.l1PtQkS0JZS14.Gjtx.4zwaYamOcLWa",
            permissions: "read"
		}]
    },

步骤三:保存和重启 Node-RED

保存 settings.js 文件并重新启动 Node-RED 以应用更改。

登录 Node-RED

访问 http://127.0.0.1:1880/ 进入登录面板,输入之前设置的用户名和密码登录。

Node-RED 设置登录权限_第3张图片图1 新垣结衣1
Node-RED 设置登录权限_第4张图片图2 新垣结衣1

现在,reader 用户在登录后只能进行读取操作,而在进行部署等更改之前,仍然需要进行身份验证。

Node-RED 设置登录权限_第5张图片

你可能感兴趣的:(Node-RED,物联网)