DolphinDB Web 端权限管理:可视化操作指南
在现代数据库管理中,高效和直观的权限管理对于用户的数据安全是至关重要的。过去 DolphinDB 用户需要依赖系统脚本来管理用户和权限,这对于缺乏技术背景的管理员来说既复杂又容易出错。
为了提升用户体验和操作效率,DolphinDB 目前在 Web 上开发了可视化权限操作管理模块,用户可以轻松地设定对数据库、内存表、流表、函数视图的访问限制,得以高效地确保数据库系统安全。
1. 功能简介
在 DolphinDB Web 权限管理模块下,一切关于权限的管理任务变得既直观又富有条理。本模块精心打造了两大控制模块:用户管理和组管理,它们共同构成了 Web 权限管理的核心。
用户管理:用户管理的设计旨在简化账户操作流程。从创建新用户到配置权限范围,每一个功能都经过了细致的优化,确保管理员可以毫不费力地管理整个系统的用户。主要功能包括:
- 新建用户:以表单的方式快速添加新的数据库用户。
- 删除用户:删除单个用户或者批量删除多个用户。
- 设置用户组:将用户归入特定的用户组内,便捷权限分配。
- 重置用户密码:在用户忘记密码或需要密码更新时,提供一种安全的重置方式。
- 查看用户权限:通过可视化图表查看每个用户的权限细节。
- 设置用户权限:自由调整每个用户的权限设置,保障不同权限的精细分配。
组管理:组管理的架构则专注于用户组的整体性管理,它确保了权限设置的集体性和一致性。主要功能包括:
- 新建组:创建新的分组,以适应不同团队或项目的权限分布需求。
- 删除组:删除不再需要的群组。
- 设置组内用户:能够灵活地安排组内成员,随时调整团队配置。
- 查看组权限:通过一目了然的权限布局视图,管理员无需繁琐查询即可审视各个用户组的权限设置。。
- 设置组权限:给予特定的用户组一系列权限,实现统一而精确的权限控制。
DolphinDB Web 权限管理模块,凭借其高度组织化的功能设计,不仅提升了管理员的工作效率,也加强了对敏感数据的防护。
2. 用户管理
用户管理是 Web 权限管理模块的重要组成部分,提供了一系列功能,以确保对数据库用户的有效和安全管理。通过这些功能,管理员可以轻松掌控用户访问权限、执行日常管理任务、并维护数据库系统的完整性和安全。以下是用户管理功能的具体介绍:
2.1 新建用户
1. 切换到权限管理模块下的用户管理模块。
2. 点击界面上的新建用户,弹出表单如下图:
3. 依次输入用户名、密码、确认密码,选择是否分配为管理员、选择初始组,确认无误后点击确定。
4. 确定后,会调用函数 createUser 进行用户创建。创建成功后,在界面上提示"用户创建成功"。
2.2 删除用户
2.2.1 删除单个用户
1. 点击用户列表操作栏内删除按钮,弹出确认框。
2. 点击确定后,会调用函数 deleteUser 进行用户删除。删除成功后,在界面上提示"用户删除成功"。
2.2.2 批量删除用户
1. 选中想要删除的用户,点击表头上的批量删除按钮,弹出确认框。
2. 点击确定后,会调用函数 deleteUser 进行用户批量删除。删除成功后,在界面上提示"用户删除成功"。
2.3 设置密码
1. 点击用户列表操作栏内设置密码按钮,弹出设置密码表单。
2. 输入密码以及确认密码后,点击确定。会调用函数 resetPwd 完成用户密码重置,重置成功后,在界面上提示"密码重置成功"。
2.4 设置用户组
1. 点击用户操作栏内设置用户组按钮,弹出用户组管理对话框。
2. 左侧为当前用户未所属组,右侧为当前用户所属组。选中想要移入/移出的组,通过中间的箭头进行交换后,点击预览修改对用户组的改动进行预览。
3. 点击预览修改后进入到修改预览界面,依次确认该用户原有组,即将移入组和即将移出组,确认无误后点击确定。会调用函数 addgroupmember 和 deletegroupmember 进行用户组修改。修改成功后,在界面上提示"用户所属组修改成功"。
2.5 查看权限
1. 点击用户列表操作栏内查看权限按钮,切换到查看权限页面(这里展示的为指定用户及其所属组的权限组合后的最终生效权限),即以 finalAccess = true 的参数调用函数 getUserAccess 。
2. 此处可以查看该用户的分布式数据库表权限、共享内存表权限、流数据表权限、函数视图权限以及全局权限(SCRIPT_EXEC、TEST_EXEC、VIEW_OWNER 等等)。表格中绿色代表该用户对某一数据库实体的权限状态为 Allow,红色代表该用户的权限状态为 Deny,灰色代表该用户的权限状态为 None。对此界面进行详细介绍:
-
- 导航栏的上半部分的下拉框可以对用户进行切换;
- 导航栏上部分的选项卡可以对权限类别进行切换;
- 刷新按钮对当前查看的权限表格数据进行刷新;
- 返回按钮可以返回到用户列表页面;
- 设置权限按钮跳转到设置权限页面(见 3.6 节);
- 搜索框用来查找想要查看的权限对象(数据库/共享内存表/流数据表/函数视图/全局权限);
- 如果当前选项卡为分布式数据库,可以点击表格内每一行行首的加号按钮,会展开该分布式数据库下的数据表权限。
2.6 设置权限
点击用户列表操作栏内设置权限按钮,切换到设置权限页面。
图 2-11 详细展示了设置权限页面的功能:
- 导航栏的上半部分的下拉框可以对用户进行切换;
- 导航栏上部分的选项卡可以对权限类别进行切换;
- 刷新按钮对当前查看的列表数据进行刷新;
- 返回按钮可以返回到用户列表页面;
- 新增权限按钮弹出新增权限表单(见 3.6.1 节);
- 查看权限按钮跳转到查看权限页面(见 3.5 节);
- 批量撤销按钮可批量撤销用户被赋予的权限(见 3.6.2 节);
- 搜索框用来查找想要查看的权限对象(数据库/共享内存表/流数据表/函数视图/全局权限)。
2.6.1 新增权限
1. 点击新增权限按钮,弹出对话框进行权限新增操作。
2. 选择权限类别:授予(grant)/拒绝(deny)权限。
3. 选择要赋予的权限类型,根据当前选项卡的不同,会在下拉框提供不同的权限类型,具体而言:
-
- 分布式数据库:包括库级权限类型 DB_MANAGE、DBOBJ_CREATE、DBOBJ_DELETE、DB_OWNER、DB_WRITE、DB_INSERT、DB_UPDATE、DB_DELETE、DB_READ 和表级权限类型 TABLE_WRITE、TABLE_READ、TABLE_INSERT、TABLE_UPDATE、TABLE_DELETE;
- 共享内存表:TABLE_WRITE、TABLE_READ;
- 流数据表:TABLE_WRITE、TABLE_READ;
- 函数视图:VIEW_EXEC;
- 全局权限:SCRIPT_EXEC、TEST_EXEC、VIEW_OWNER、QUERY_RESULT_MEM_LIMIT、TASK_GROUP_MEM_LIMIT。
4. 选择或输入权限的应用范围(可多选),根据当前选项卡和用户在第 3 步选择的权限类型,会提供不同的权限应用范围,具体而言:
-
- 分布式数据库:
- 如果选择了库级权限类型,则只会展示出该集群下的所有分布式数据库;
- 如果选择了表级权限类型,则会展示出该集群下的所有分布式数据表;
- 如果选择了 DB_OWNER,则需要用户手动输入应用范围("*" 或以 "*" 结尾的数据库名,前者表示对所有数据库生效,后者表示对指定前缀命名的所有数据库生效)。
- 共享内存表:展示出所有的共享内存表;
- 流数据表:展示出所有的流数据表;
- 函数视图:展示出所有的函数视图;
- 全局权限:
- 如果选择了 SCRIPT_EXEC、TEST_EXEC、VIEW_OWNER 三种权限:应用范围为全局,此处不用选择或输入;
- 如果选择了 QUERY_RESULT_MEM_LIMIT 或 TASK_GROUP_MEM_LIMIT:则需要用户手动输入限制内存大小,单位为 GB。
- 分布式数据库:
5. 点击预添加按钮,对即将赋予的权限进行预览和确认。
6. 预览即将赋予的权限,此时根据需要对预添加的权限进行移除。
7. 确认无误,点击确认添加按钮,调用函数 grant 和 deny 对用户正式赋予权限,赋予成功后,在界面上提示"权限赋予成功"。
2.6.2 撤销权限
点击撤销/批量撤销后,可对用户已赋予/已禁止的权限进行撤销,会调用函数 revoke 撤销权限,撤销成功后,在界面上提示"撤销成功"。
3. 组管理
在 DolphinDB 的权限管理系统中,我们引入了"组"这一概念,以便于更方便地配置和管理拥有相同权限的用户。这样当权限管理需求发生变化时,只需对组的权限进行一次修改,便可立即影响到组内的所有用户。这种设计大大简化了权限配置和管理的过程,提升了效率。以下对组管理的功能做出介绍(查看权限和设置权限功能与上文一致,不再重复):
3.1 新建组
1. 点击新建组按钮,弹出新建组弹窗。
2. 进行新建组表单的填写:
- 输入组名;
- 在非组成员中选择要添加的初始成员;
- 点击中间的箭头,确认选择初始成员;
- 点击确定后,会调用函数 createGroup 进行组创建,创建成功后,在界面上提示"组创建成功"。
3.2 删除组
对已存在的组可以进行删除操作,可以删除单个组或者批量删除多个组。
3.2.1 删除单个组
1. 点击组列表操作栏内删除按钮,弹出确认框。
2. 点击确定后,会调用函数 deleteGroup 进行组删除。删除成功后,在界面上提示"组删除成功"。
3.2.2 批量删除组
1. 选中想要删除的组,点击表头上的批量删除按钮,弹出确认框。
2. 确认想要删除的组后,点击确定,会调用函数 deleteGroup 进行组删除。删除成功后,在界面上提示"组删除成功"。
3.3 管理成员
1. 点击组操作栏内管理成员按钮,弹出成员管理对话框。
2. 左侧为当前组的非组成员,右侧为当前组的组成员。选中想要移入/移出的用户,通过中间的箭头进行交换后,点击预览修改对组内用户的改动进行预览。
3. 依次确认该组原组成员,即将移入用户和即将移出用户,确认无误后,在预览弹窗点击确定,会调用脚本 addgroupmember 和 deletegroupmember 完成组内用户的修改。修改成功后,在界面上提示"组成员修改成功"。
4. 总结
DolphinDB Web 权限管理模块通过简洁和直观的设计,大幅提升了用户管理和权限配置的效率。管理员可以轻松地创建和删除用户、重置用户密码、分配和调整用户权限,以及管理用户组及其成员。每个操作都经过优化,确保权限管理既便捷又精确,保障数据库系统的安全性。未来,DolphinDB Web 权限管理模块将继续优化用户体验,为用户提供更加安全、高效、智能的数据库管理工具。
相关文章:
DolphinDB Web 端权限管理:可视化操作指南
在现代数据库管理中,高效和直观的权限管理对于用户的数据安全是至关重要的。过去 DolphinDB 用户需要依赖系统脚本来管理用户和权限,这对于缺乏技术背景的管理员来说既复杂又容易出错。 为了提升用户体验和操作效率,DolphinDB 目前在 Web 上…...
学习Vue2收藏这一篇就够了(如何创建Vue实例)
什么是Vue? Vue是什么:是一个用于构建用户界面的渐进式框架 什么是构建用户界面:基于数据动态渲染页面 什么是渐进式:循序渐进的学习 什么是框架:一整套完整的项目解决方案 创建Vue实例 核心步骤(4步…...
Mysql数据库第四次作业
mysql> create table student(sno int primary key auto_increment,sname varchar(30) not null unique,Ssex varchar(2) check (Ssex男 or Ssex女) not null,Sage int not null,Sdept varchar(10) default计算机 not null); mysql> create table Course(Con int primar…...
使用Docker搭建MySql的主从同步+ShardingSphere搭建Mysql的读写分离
参考课程 尚硅谷ShardingSphere5实战教程(快速入门掌握核心)_哔哩哔哩_bilibili 主服务器 创建容器 docker run -d \ -p 3306:3306 \ -v /kira/mysql/master/conf:/etc/mysql/conf.d \ -v /kira/mysql/master/data:/var/lib/mysql \ -e MYSQL_ROOT…...
数据结构:数据类型与抽象数据类型
数据类型与抽象数据类型 数据类型基本数据类型构造数据类型指针类型枚举类型 抽象数据类型(ADT)抽象数据类型的组成部分常见的抽象数据类型示例 数据类型与抽象数据类型的区别实现抽象数据类型的具体方式用数组实现栈用链表实现栈 总结 数据类型 数据类…...
西方逻辑史简介
西方逻辑史研究,对形式逻辑实现现代化,对加强西方哲学史研究,对开展科学方法论的研究都有重要意义。西方逻辑史一般被划分成古代、中世纪、现代三个历史时期。本文拟对这三个时期中的七个重要逻辑学家和逻辑学派:亚里士多德、斯多…...
【论文10】复现代码tips
一、准备工作 1.创建一个虚拟环境 conda create --name drgcnn38 python=3.8.18 2.激活虚拟环境 conda activate drgcnn38 注意事项 在Pycharm中终端(terminal)显示PS而不是虚拟环境base 问题如下所示 解决方法:shell路径改成cmd.exe 重启终端显示虚拟环境 3.安装torch …...
分布式缓存获取以及设置
1. 通用代码 public SysUser getCache(String sysUserId) {String cacheKey "litgery:warehouse:" sysUserId;// 尝试从缓存中获取数据CacheData cacheData redisUtils.get(cacheKey);if (null ! cacheData) {if (Boolean.TRUE.equals(cacheData.getExist())) {re…...
SMO算法,platt论文的原始算法及优化算法
platt论文:[PDF] Sequential Minimal Optimization : A Fast Algorithm for Training Support Vector Machines | Semantic Scholar 算法优化:[PDF] Improvements to Platts SMO Algorithm for SVM Classifier Design | Semantic Scholar 包含个人plat…...
2.3 openCv -- 对矩阵执行掩码操作
在矩阵上进行掩模操作相当简单。其基本思想是根据一个掩模矩阵(也称为核)来重新计算图像中每个像素的值。这个掩模矩阵包含的值决定了邻近像素(以及当前像素本身)对新的像素值产生多少影响。从数学角度来看,我们使用指定的值来做一个加权平均。 具体而言,掩模操作通常涉…...
【Django】 js实现动态赋值、显示show隐藏hide效果
文章目录 需要达到的前端效果预览:实现步骤复制bootstrp代码(buttons)复制bootstrp代码(Alert警告框)写js测试效果 需要达到的前端效果预览: {% load static %} <!DOCTYPE html> <html lang"…...
qt--做一个拷贝文件器
一、项目要求 使用线程完善文件拷贝器的操作 主窗口不能假死主窗口进度条必须能动改写文件大小的单位(自适应) 1TB1024GB 1GB1024MB 1MB1024KB 1KB1024字节 二、所需技术 1.QFileDialog 文件对话框 QFileDialog也继承了QDialog类,直接使用静态…...
Eclipse 搭建 C/C++ 开发环境以及eclipse的使用
一、下载、安装 MinGW 1、下载: 下载地址:MinGW - Minimalist GNU for Windows - Browse Files at SourceForge.net 点击“Download Latest Version”即可 下载完成后,得到一个名为 mingw-get-setup.exe 的安装文件。双击运行,安装即可。 …...
【初阶数据结构】复杂度算法题篇
旋转数组 力扣原题 方案一 循环K次将数组所有元素向后移动⼀位(代码不通过) 时间复杂度O(n2) 空间复杂度O(1) void rotate(int* nums, int numsSize, int k) {while (k--) {int end nums[numsSize - 1];for (int i numsSize - 1; i > 0; i--) {nums[i] num…...
20240725项目的maven环境报红-重新配置maven
1.在编辑器里面打开项目,导入源码 (1)找到项目的地址C:\Users\zzz\IdeaProjects\datasys,然后右击用idea编辑器打开。 (2)idea中上菜单栏打开open,然后输入file,选择源代码文件 2.…...
若依 ruoyi poi Excel合并行的导入
本文仅针对文字相关的合并做了处理 ,图片合并及保存需要另做处理!! 目标:Excel合并行内容的导入 结果: 1. ExcelUtil.java 类,新增方法:判断是否是合并行 /*** 新增 合并行相关代码:…...
优化算法:1.遗传算法(GA)及Python实现
一、定义 遗传算法就像是在模拟“优胜劣汰”的进化过程,通过选择最优秀的个体,交配产生下一代,并引入一定的变异,逐步优化解决问题。 二、具体步骤 初始化种群(Initialization): 假设你要找到一个迷宫的最佳出口路径。…...
企业化运维(8)Docker容器技术
###1.Docker介绍### 什么是Docker Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间…...
Unity C#底层原理(二)
委托 方法的容器:委托可以存储一个或多个方法的引用。可以使用委托对象来调用这些方法。函数/方法的变量类型:委托类型可以像变量一样声明和使用,存储方法的引用。存储、传递方法:委托可以作为参数传递给方法,也可以作…...
计算机网络-配置路由器ACL(访问控制列表)
配置访问控制列表ACL 拓扑结构 拓扑结构如下: 要配置一个ACL,禁止PC0访问PC3,禁止PC4访问PC0,其它正常。 配置Router0 配置接口IP地址: interface fastethernet 0/0 ip address 192.168.1.1 255.255.255.0 no shu…...
【Python】 -- 趣味代码 - 小恐龙游戏
文章目录 文章目录 00 小恐龙游戏程序设计框架代码结构和功能游戏流程总结01 小恐龙游戏程序设计02 百度网盘地址00 小恐龙游戏程序设计框架 这段代码是一个基于 Pygame 的简易跑酷游戏的完整实现,玩家控制一个角色(龙)躲避障碍物(仙人掌和乌鸦)。以下是代码的详细介绍:…...
连锁超市冷库节能解决方案:如何实现超市降本增效
在连锁超市冷库运营中,高能耗、设备损耗快、人工管理低效等问题长期困扰企业。御控冷库节能解决方案通过智能控制化霜、按需化霜、实时监控、故障诊断、自动预警、远程控制开关六大核心技术,实现年省电费15%-60%,且不改动原有装备、安装快捷、…...
系统设计 --- MongoDB亿级数据查询优化策略
系统设计 --- MongoDB亿级数据查询分表策略 背景Solution --- 分表 背景 使用audit log实现Audi Trail功能 Audit Trail范围: 六个月数据量: 每秒5-7条audi log,共计7千万 – 1亿条数据需要实现全文检索按照时间倒序因为license问题,不能使用ELK只能使用…...
相机Camera日志分析之三十一:高通Camx HAL十种流程基础分析关键字汇总(后续持续更新中)
【关注我,后续持续新增专题博文,谢谢!!!】 上一篇我们讲了:有对最普通的场景进行各个日志注释讲解,但相机场景太多,日志差异也巨大。后面将展示各种场景下的日志。 通过notepad++打开场景下的日志,通过下列分类关键字搜索,即可清晰的分析不同场景的相机运行流程差异…...
BCS 2025|百度副总裁陈洋:智能体在安全领域的应用实践
6月5日,2025全球数字经济大会数字安全主论坛暨北京网络安全大会在国家会议中心隆重开幕。百度副总裁陈洋受邀出席,并作《智能体在安全领域的应用实践》主题演讲,分享了在智能体在安全领域的突破性实践。他指出,百度通过将安全能力…...
【Java_EE】Spring MVC
目录 Spring Web MVC 编辑注解 RestController RequestMapping RequestParam RequestParam RequestBody PathVariable RequestPart 参数传递 注意事项 编辑参数重命名 RequestParam 编辑编辑传递集合 RequestParam 传递JSON数据 编辑RequestBody …...
工业自动化时代的精准装配革新:迁移科技3D视觉系统如何重塑机器人定位装配
AI3D视觉的工业赋能者 迁移科技成立于2017年,作为行业领先的3D工业相机及视觉系统供应商,累计完成数亿元融资。其核心技术覆盖硬件设计、算法优化及软件集成,通过稳定、易用、高回报的AI3D视觉系统,为汽车、新能源、金属制造等行…...
微信小程序云开发平台MySQL的连接方式
注:微信小程序云开发平台指的是腾讯云开发 先给结论:微信小程序云开发平台的MySQL,无法通过获取数据库连接信息的方式进行连接,连接只能通过云开发的SDK连接,具体要参考官方文档: 为什么? 因为…...
实现弹窗随键盘上移居中
实现弹窗随键盘上移的核心思路 在Android中,可以通过监听键盘的显示和隐藏事件,动态调整弹窗的位置。关键点在于获取键盘高度,并计算剩余屏幕空间以重新定位弹窗。 // 在Activity或Fragment中设置键盘监听 val rootView findViewById<V…...
鸿蒙DevEco Studio HarmonyOS 5跑酷小游戏实现指南
1. 项目概述 本跑酷小游戏基于鸿蒙HarmonyOS 5开发,使用DevEco Studio作为开发工具,采用Java语言实现,包含角色控制、障碍物生成和分数计算系统。 2. 项目结构 /src/main/java/com/example/runner/├── MainAbilitySlice.java // 主界…...
