当前位置: 首页 > news >正文

中国建设银行网站易方达消费微信如何做有趣的短视频网站

中国建设银行网站易方达消费,微信如何做有趣的短视频网站,怎么在百度上做自己的网站,建工集团领导班子名单本文讲解了如何jxTMS的数据访问框架,整个系列的文章请查看:docker版jxTMS使用指南:4.4版升级内容 docker版本的使用,请查看:docker版jxTMS使用指南 4.0版jxTMS的说明,请查看:4.0版升级内容 4…

本文讲解了如何jxTMS的数据访问框架,整个系列的文章请查看:docker版jxTMS使用指南:4.4版升级内容

docker版本的使用,请查看:docker版jxTMS使用指南

4.0版jxTMS的说明,请查看:4.0版升级内容

4.2版jxTMS的说明,请查看:4.2版升级内容

使用jxTMS搭建一个数据访问系统,相对来说较为简单,因为jxTMS已经内置了一个完整的数据访问框架:

数据处理框架

该框架在上图中已经展示的非常清楚了,各步骤的相关处理也都在前文讲解过。所以本文只说明当有一个新用户要对某个新加入的资源执行某项新操作时该如何做。

1、增加新操作

如【app/sinosoarSP30H/】下的op_getSiteData.py所展示的,可以非常简单的定义并注册一个新操作:

from jx.auth import auth
from jx.site import site#读取设备数据
#user:用户
#resID:资源ID
#params:调用时的参数
def op_getSiteData(user, siteName, params):s = site.getSite(siteName)if s is None:return None,None,404,f'站点[{siteName}]不存在'else:return s.type(),s.data(),200,Noneauth.registerOP('getSiteData', op_getSiteData)

上述代码注册了一个名为【getSiteData】的操作。

然后,我们要在【app/sinosoarSP30H/】目录下的__init.py__文件中引用op_getSiteData:

from app.sinosoarSP30H import op_getSiteData

这样才能在app目录下的__init.py__文件中引用加载sinosoarSP30H模块时自动加载op_getSiteData.py文件,完成getSiteData操作的自动注册。

2、增加一个授权

jxTMS的用户授权是构建一个【资源组-操作-角色】的关联,所以授权过程是:

  • 将需要执行getSiteData操作的资源放到某个资源组中

  • 将需要授权执行getSiteData操作的用户映射到某个角色

  • 然后授权该角色可以对该资源组执行getSiteData操作

具体操作请参考【新建用户并授权】一文。

3、如有必要,增加一个SLA处理

大家看一下上面的op_getSiteData函数,其返回的是一个四元组,第一个元素指示了返回结果的类型。

当需要时,可以为该类型的操作结果,增加SLA【服务水平】处理,如针对不同用户提供不同精度的地图等。

如【app/vrs20/】下的dualResult.py所展示的,可以根据用户、角色等提供针对性的数据后处理。

需要说明的是,此处的SLA处理和操作处理一样,都是只用于提供rest访问的处理流中。

大家应该理解,本文所讲述的都是对外提供数据服务,而不是前几篇文章所讲解的数据处理的内容。所以,实际上应当避免dualResult.py中的直接修改原始数据的做法。

演示

大家可以执行:

cd /home/tms/python
python3 main.py

来启动数据处理。

注:大家看一下main.py,会看到其启动ms时指定了【alone=True】,也就是说其不会向java侧的jxTMS系统平台中的catalogService进行注册,所以无法通过java侧的jxTMS系统平台来对数据收发进行管理。这是由于笔者在测试时需要反复重启python侧的jxTMS服务,而且是只使用如下命令进行启动:

python3 main.py

但其会不断报无法注册到catalogService,会极大的干扰调试工作,所以就指定了【alone=True】以阻止向catalogService进行注册,大家如果需要使用java侧的jxTMS系统平台,就需要删除【alone=True】

继续。然后打开另外一个ssh会话,执行:

cd /home/tms/python
python3 testWeb.py

在前一个会话可以看到:

用户[demoUser01/demoUser01]请求对[hbc01]执行操作[getSiteData]:允许"

在后一个会话可以看到:

({'VoltageA': 227.60000000000002, 'VoltageB': 227.20000000000002, 'VoltageC': 220.8, 'DG1_VoltageAB': 221.4, 'SOC1': 224.0, 'timestamp': None}, 200, None)

表明当前用户执行getSiteData操作成功。

安全性增强

jxTMS的web访问采用的是http协议,而非https协议,这主要是考虑现在一般不支持私有证书,为了降低部署的成本才做了如此的选择。

但这自然会带来安全方面的风险,所以jxTMS基于jwt提供了双向加密来提供有限的安全。

注:数据服务一般用于低敏感度的场景,由于都是toB的中间业务数据交换,天然的具有点到点、数据不具备自解释能力【需双方约定所交换数据的格式和语义】的特点,所以一般情况下也不太需要关注数据的安全问题

如果和jxTMS交换的对手方也是python环境,可以直接引用module目录下的webClient.py文件中的webClient,使用towWay_login代替login并指示secretType为jwt,则jxTMS会用jwt加密来取代普通login的明文用户名密码,同时发送过来的数据也都会用jwt进行加密。

注:由于采用的是http协议,所以此处的增强只具有有限的安全,如果评估后认为安全风险较大,还是应采取https或其它加密信道来增强安全性

参考资料:

jxTMS设计思想

jxTMS编程手册

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

如何用jxTMS开发一个功能

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

jxTMS的HelloWorld

http://www.yayakq.cn/news/724800/

相关文章:

  • iphone手机网站建设网站网址查询 优帮云
  • 魔方 网站建设 有限公司北京市朝阳区网站制作
  • 网站怎么做备案变更html5网站引导页模板
  • 哪家公司建设网站好调用wordpress数据
  • 那里有正规网站开发培训学校网站如何做下载链接
  • 上海正规做网站公司软文推广500字
  • 国内三大电商平台分析报告seo页面优化平台
  • 辽宁天一建设有限责任公司网站网站为什么会出现死链
  • 企业网站建设 优化北京住房和城乡建设网
  • 可信赖的常州网站建设网站导航栏是什么
  • 深圳网站设计公司怎么做wordpress数据维护
  • 做传奇网站怎么弄sae wordpress 主题 下载
  • 自己怎么做个网站全国十大教育机构
  • 公司做网站需要哪些资料视频网站建设价位
  • 网站制作 代码编辑丰都网站建设案例
  • 洛阳网站推广方式免费建国外网站
  • wordpress安装上传失败seo网站优化是什么
  • 长春微建站是哪个平台的网站空间500M
  • 重庆企业官网建站快速搭建杭州室内设计公司
  • 张家界城乡建设网站模板演示网站
  • 西安网站到首页排名谁告诉你j2ee是做网站的
  • 局域网创建网站广州公司注册提供地址
  • c2c商城网站建设seo外包费用
  • 轻淘客网站建设怎样把网站提交到百度
  • 网站模板网html个人主页源码
  • 网站权重排行中国机械加工网官方网站
  • 英文网站提交表白网页制作源代码
  • 汉中网站建设公司电话网站地图提交入口
  • 杭州网站建设优化案例建设新网站征求意见
  • 深圳网站制作可选兴田德润深圳网络提速优化服务包