docker版jxTMS使用指南:python服务之权限管理

news/2025/1/13 6:34:34/

本文讲解4.0版的jxTMS中python服务的权限管理,整个系列的文章请查看:docker版jxTMS使用指南:4.0版升级内容

docker版本的使用,请参考:docker版jxTMS使用指南

4.0版的jxTMS中python服务内置了强大的权限管理。其包括三个部分:

  • 资源配置

  • 用户配置

  • 权限管理

权限管理用一句话来说就是:某用户能否对某资源执行某个操作

但是,由于用户可能会很多、资源也可能有很多,再加上各资源可能支持多种操作,如果直接用户对资源的进行权限管理,那不但繁琐,更可能会诱发各种错漏。

所以,一般情况下,用户指派各种角色、资源归入各资源组,然后以角色对资源组的操作权限进行管理,这就大大简化了权限管理的负担。

当然,直接设置用户对资源的操作权限也是可以的,而且这种设置被认为属于明确指定,只要命中就会直接应用。而角色到资源组的权限管控被认为是隐含指定,只有一个用户的所有角色都没有权限来执行时才会判定无权执行对该资源的操作。

此外,资源和资源组都可以设置默认权限,即当检查本资源或资源组对某人的权限时,未命中时的默认许可。

当未命中时,资源的默认权限就会起效,而资源组的默认权限则只有是许可的才会起效。

权限管理应在jxTMS平台上执行,不建议在python服务中用命令行的方式进行。

在jxTMS平台上进行权限管理的步骤是:

1、创建角色

2、创建用户

3、查看用户时,映射角色

4、查看用户时,下发用户配置

5、创建资源组

6、创建资源

7、查看资源时,添加到资源组

8、查看资源时,下发资源配置

9、添加操作权限

10、如果操作权限是设置给资源的,则在查看资源时,下发操作权限配置

11、如果操作权限是设置给资源组的,则在查看资源组时,下发操作权限配置

看起来可能觉得的很繁琐,但配置好【主要是角色到资源组的操作权限】后,实际上:

1、有新的用户,则创建用户并映射角色后,下发用户配置即可

2、有新的资源,则创建资源并添加到资源组后,下发用户资源即可

3、增加新的操作,则配置操作权限,然后在该操作的目标资源组的查看界面下发操作权限配置即可

权限的使用,主要是通过用户的access对象函数:

access(self, op, resID, params)
参数:op:操作名resID:资源名params:参数
返回:result:操作结果,未授权等返回Nonerc:类http状态码,200,ok;403,无权执行;404,未定义的opmsg:非200时的错误消息

即本用户想操作某资源,jxTMS会检查该用户是否有权对该资源是否具备op的操作权限。如果许可,则执行该op对应的操作函数,如果不许可则返回403拒绝。

而操作需要先用auth.registerFunc进行注册:

registerOP(cls, opName, opFunc):
参数:opName:操作名opFunc:对应的操作函数
返回:无

opFunc的签名应是:

opFunc_xxxx(user,resID,params)
参数:user:调用本函数的用户对象resID:该用户想操作的资源名params:参数
返回:type:本操作的类型,该类型随后将被用于数据转换策略以决定对操作结果如何转换result:操作结果,未授权等返回Nonerc:类http状态码,200,ok;403,无权执行;404,未定义的opmsg:非200时的错误消息

相关示例可参考app/dualResult_vrs20.py文件中读取设备数据的实现。

参考资料:

jxTMS设计思想

jxTMS编程手册

下面的系列文章讲述了如何用jxTMS开发一个实用的业务功能:

如何用jxTMS开发一个功能

下面的系列文章讲述了jxTMS的一些基本开发能力:

jxTMS的HelloWorld


http://www.ppmy.cn/news/185125.html

相关文章

类、对象、封装、继承和多态等,一目了然!

当谈到面向对象编程的概念和原则时,以下是一些示例来说明类、对象、封装、继承和多态的概念: 类(Class): 类是一种定义对象属性和行为的蓝图。它描述了对象的状态和行为。例如,我们可以创建一个名为"…

技术90

90后的想法虽然有点疯狂,但是回顾09年上半年来看,液晶显示器的持续降价,投影仪的平民化,无线键鼠的普及,高清播放机、支持硬解码显卡的风靡,加上多声道(4.1,5.1等等)音箱的飞速发展(多声道音箱已…

[经典好文] 谈笑色影间,人生本无忌 (转于色影无忌)

《人生本无忌 谈笑色影间》 又名:《无忌发烧中毒败家集中营》 ----"每个人都要经过这个阶段,看见一座山,就想知道山的后面是什么.我想告诉他,可能翻过山后面,你会发觉没什么特别,回头会觉得这边更好." ----"我知道山背后其实和山这边差不多,但我还是…

佳能G系列领军相机G1X_我是亲民_新浪博客

在今年2月份,佳能推出的G系列相机的怪物旗舰机G1X,说它怪,就因为它采用了一块尺寸为18.714mm的CMOS,焦距换算倍数为1.85。之前的G系列都是采用小尺寸CMOS,最大的G12也就是1/1.7,这个成为G系列的一个瓶颈。G…

360或720

" 基于图像技术的全景虚拟的优势: ⊙ 真实性强,实景场景的逼真摄影表现。 ⊙ 播放设备硬件要求低,大众化电脑均可播放,无需专门工作站。 ⊙ 开发周期短,开发成本低。拍摄制作比三维制作速度快,…

哈希表理论基础

目录 哈希表 哈希函数 哈希碰撞 一般哈希碰撞有两种解决方法, 拉链法和线性探测法。 拉链法 线性探测法 常见的三种哈希结构 set map 总结 哈希表 哈希表是根据关键码的值而直接进行访问的数据结构。 哈希表中关键码就是数组的索引下标,然后通…

音视频接口介绍

1、三中视频信号 VGA接头:针数为15的视频接口,主要用于老式的电脑输出。VGA输出和传递的是模拟信号。大家都知道计算机显卡产生的是数字信号,显示器使用的也是数字信号。所以使用VGA的视频接口相当于是经历了一个数模转换和一次模数转换。信…

LD3320和MP3模块搭建语音识别交互系统

LD3320和MP3模块搭建语音识别交互系统流程推进 一、模块采购: 二、配套软件安装:三、程序及语音配套:四、模块连接:五、PCB打板文件六、配套板元器件清单:七、配套板具体使用和功能八、常见问题:九、新手描…