Node-RED 设置登录权限

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

步骤一:配置 AdminAuth

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

在这里插入图片描述

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

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

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

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

在这里插入图片描述

确保将生成的哈希密码替换 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/ 进入登录面板,输入之前设置的用户名和密码登录。

图1 新垣结衣1
图2 新垣结衣1

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

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/208314.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

react Hooks实现原理

Fiber 上篇文章fiber简单理解记录了react fiber架构,Hooks是基于fiber链表来实现的。阅读以下内容时建议先了解react fiber。 jsx -> render function -> vdom -> fiber树 -> dom vdom 转 fiber 的过程称为 recocile。diff算法就是在recocile这个过程…

LVS-DR+Keepalived+动静分离实验

架构图 解释一下架构,大概就是用Keepalived实现两台DR服务器的LVS负载均衡,然后后端服务器是两台Nginx服务器两台Tomcat服务器并且实现动静分离这个实验其实就是把 LVS-DRKeepalived 和 动静分离 给拼起来,真的是拼起来,两个部分…

Rtrofit+Rxjava网络请求封装

好几年前封装的框架一直没上传,趁现在升级写下。 简介Retrofit是android的网络请求库,是一个RESTful的HTTP网络请求框架的封装(基于okhttp)。它内部网络请求的工作,本质上是通过OkHttp完成,而Retrofit仅负责…

JVM虚拟机:执行Java程序并指定JVM参数

本文重点 在前面我们设置参数值的时候,需要在eclipse中的VM中进行参数设置,查询的时候需要先jps,然后jinfo。这里尝试动态的设置和查询,也就是说在运行程序的时候就对其进行设置,并且进行查询。 过程 为了确定参数修…

微信个人号机器人开发

简要描述: 取消消息接收 请求URL: http://域名地址/cancelHttpCallbackUrl 请求方式: POST 请求头Headers: Authorization:login接口返回Content-Type:application/json 无参数 返回数据&#xff…

MeteoInfo-Java解析与绘图教程

MeteoInfo-Java解析与绘图教程(四) 上文我们说到,将地图叠加在色斑图上,但大部分都是卫星绘图,现在开始讲解micaps数据绘图,同样也是更多自定义 配置 首先我们解析micaps数据,将之前学到的东西拿过来绘图 MeteoDataInfo meteoDataInfo new MeteoDataInfo(); meteoDataInfo.o…

使用Binding的RelativeSource

一个Binding有明确的数据来源 可以通过Source或ElementName赋值的方法让Binding与之关联 但是有的时候我们不能确定作为Source的对象叫什么名字,但知道它与作为Binding目标的对象在UI上有相对关系,比如:空间自己关联自己的某个数据、关联自己…

Flutter代码补全

有的时候属性不经常使用,就想不起来该用啥,只有点点印象;只能用代码补全功能,但我用了AS的默认操作发下并不好使,估计是快捷键冲突了。刚开始是不是下面的效果:这肯定不是我们想要的。 不怕,接下…

【S32DS报错】-2-提示Error while launching command:arm-none-eabi-gdb –version错误

目录 1 Error错误提示 2 Error错误原因 3 如何消除Error错误 结尾 【S32K3_MCAL从入门到精通】合集: S32K3_MCAL从入门到精通https://blog.csdn.net/qfmzhu/category_12519033.html 1 Error错误提示 使用S32DSJ-LinK下载程序,在Dedug Configurati…

计算机基础知识67--BBS

迁移表格 # 以后你写的每个python项目,都必须有一个txt文件叫 requirements.txt,里面放了当前项目所有的依赖,别人拿到项目---》需要执行 pip install -r requirements.txt # 装好该项目所有依赖 django3.2.20 # 模块 pillow mysqlclient # 主体项目功…

中东电商指南分享!盘点中东四大跨境电商平台

提到跨境电商新蓝海,就不得不想起土豪聚集地 ——中东,中东地区拥有庞大的人口、高人均GDP、强大的消费能力以及广泛普及的互联网,但外出购物却相对不便,正是这一特点为中东跨境电商市场创造了巨大的优势。随着中东地区电商的崛起…

Gan论文阅读笔记

GAN论文阅读笔记 2014年老论文了,主要记录一些重要的东西。论文链接如下: Generative Adversarial Nets (neurips.cc) 文章目录 GAN论文阅读笔记出发点创新点设计训练代码网络结构代码测试代码 出发点 Deep generative models have had less of an impac…

软件压力测试的重要性与用途

在当今数字化的时代,软件已经成为几乎所有行业不可或缺的一部分。随着软件应用规模的增加和用户数量的上升,软件的性能变得尤为关键。为了确保软件在面对高并发和大负载时仍然能够保持稳定性和可靠性,软件压力测试变得至关重要。下面是软件压…

提醒事项日历同步怎么设置?可实时同步日历的提醒事项工具

随着生活节奏的加快,我们每天都需要处理许多琐碎的事务。为了不忘记重要的事情,很多人选择使用提醒事项工具来帮助自己。然而,市场上的提醒事项工具五花八门,有些并不具备日历月视图功能,也无法与手机日历同步&#xf…

Linux学习笔记7-IIC的应用和AP3216C

接下来进入其他两种串行通信方式:SPI和I2C的学习,因为以后的项目中会用到这些通信方式,而且正点原子的开发板里面也有用I2C和SPI通信的传感器来做实例,分别是一个距离传感器和六轴陀螺仪,这样就可以很好的通过实例来学…

GRE与顺丰圆通快递盒子

1. DNS污染 随想: 在输入一串网址后,会发生如下变化如果你在系统中配置了 Hosts 文件,那么电脑会先查询 Hosts 文件如果 Hosts 里面没有这个别名,就通过域名服务器查询域名服务器回应了,那么你的电脑就可以根据域名服…

【LeetCode:1466. 重新规划路线 | DFS + 图 + 树】

🚀 算法题 🚀 🌲 算法刷题专栏 | 面试必备算法 | 面试高频算法 🍀 🌲 越难的东西,越要努力坚持,因为它具有很高的价值,算法就是这样✨ 🌲 作者简介:硕风和炜,…

Vue 子路由页面发消息给主路由页面 ,实现主页面显示子页面的信息

需求 子页面进入后,能在主页面显示子页的相关信息,比如说主页面的菜单激活的是哪个子页面的菜单项 如上图,当刷新浏览器页面时,让菜单的激活项仍保持在【最近浏览】。 实现方式: 在子页面的create事件中增加&#xff…

Vue:绘制图例

本文记录使用Vue框架绘制图例的代码片段。 可以嵌入到cesium视图中,也可以直接绘制到自己的原生系统中。 一、绘制图例Vue组件 <div v-for="(color, index) in colors" :key="index" class="legend-item"><div class="color-…

深度学习还可以从如下方面进行创新!!

文章目录 一、我认为可以从如下5个方向进行创新总结 一、我认为可以从如下5个方向进行创新 新的模型结构&#xff1a;尽管现在的深度学习模型已经非常强大&#xff0c;但是还有很多未被探索的模型结构。探索新的模型结构可以带来更好的性能和更低的计算成本。 新的优化算法&a…