
HarmonyOS Sample之JavaDistributeAuthDemo分布式身份认证功能
2021-12-10 15:06:56相信大部分关注HarmonyOS的人来说,对于HarmonyOS的特性都有一定的了解了,从官网我们可以看到一些关键的提炼:“统一OS,弹性部署”,“硬件互助,资源共享”,“一次开发,多端部署”。
想了解更多内容,请访问:
51CTO和华为官方合作共建的鸿蒙技术社区
1.介绍
相信大部分关注HarmonyOS的人来说,对于HarmonyOS的特性都有一定的了解了,从官网我们可以看到一些关键的提炼:“统一OS,弹性部署”,“硬件互助,资源共享”,“一次开发,多端部署”。
接下来几期就想和大家一起就HarmonyOS的特性,来找一些案例进行学习和实践,目的是进一步巩固对特性的理解然后去灵活应用。
这一期是通过分布式身份认证的功能来了解一下 常用的通信方法。
分享的内容:
案例来自codelabs官方示例分布式鉴权(Java) 本贴进行了整理和分析,供学习和交流使用。
2.效果展示
3.搭建环境
安装DevEco Studio,详情请参考DevEco Studio下载。

设置DevEco Studio开发环境,DevEco Studio开发环境需要依赖于网络环境,需要连接上网络才能确保工具的正常使用,可以根据如下两种情况来配置开发环境:
如果可以直接访问Internet,只需进行下载HarmonyOS SDK操作。
如果网络不能直接访问Internet,需要通过代理 服务器 才可以访问,请参考配置开发环境。
下载源码后,使用DevEco Studio 打开项目,模拟器运行即可。
真机上运行,参见真机运行应用
4.项目结构
5.代码讲解
5.1 一种显示流转设备列表的方法
这种方式不需要自己单独获取设备,也不需要定义对应的布局文件就可以显示设备窗口。
①向ContinuationRegisterManager注册一个跳转的能力,并获得分配给该能力的注册令牌
②完成流转后的状态回调,提供用于侦听设备连接状态更改的回调
③完成流转请求的回调,显示可流转的设备
5.2 实现一个分布式身份认证授权的功能
为了方便理解,把发送请求的设备成为 请求授权设备,进行授权操作的设备成为 授权设备。
RegisterManager 自定义了CommonEvent 接口,MainAbilitySlice实现了该接口,所以RegisterManager具备了 到 MainAbilitySlice方向的通信能力。
RegisterManager 完成了对 ConstUtil.ORDER_CODE 类型公共事件的订阅,所以就能够接收到该类型的公共事件。
认证授权的完整过程:
①在请求授权设备上,RegisterManager提供了注册设备流转能力的函数,在设备连接完成的状态回调中 提交了一个“点击设备”的任务到执行队列。
在MainAbilitySlice中,在完成流转能力注册完成后,在“点击设备” 的回调中,打开了远端授权设备上的AuthrRemoteSlice页,同时传递了ConstUtil.DEVICE_ID和ConstUtil.ORDER_CODE(ConstUtil.START_ORDER)参数过去,其中ConstUtil.START_ORDER并没有使用。
②在授权设备上的AuthrRemoteSlice页被打开后,点击允许或不允许时,请求分布式权限后,又打开了请求授权设备的 MainAbility。
③在请求授权设备上,由于MainAbility设置为singleton模式(“launchType”: “singleton”)而且已经实例过,所以请求进入到onNewIntent函数。
config.json
在onNewIntent函数中,通过 CommonEventManager发布一个ConstUtil.ORDER_CODE类型的事件,该事件被RegisterManager收到并进行了处理,如何处理的呢,又通过RegisterManager.CommonEvent 把事件传递给了实现了RegisterManager.CommonEvent接口MainAbilitySlice,最终显示对端设备的授权结果(允许/不允许)
MainAbilitySlice收到消息

6.思考总结
分布式中常用的通信方式:
1.Intent 直接传递参数(intent.setParam(ORDER_CODE, type))
2.公共事件订阅/发布的方式(Intent封装到CommonEventData)
3.自定义接口的方式(RegisterManager.CommonEvent)
文章相关附件可以点击下面的原文链接前往下载
想了解更多内容,请访问:
51CTO和华为官方合作共建的鸿蒙技术社区
如何使用Webservice实现数据交换
这就是说,你能够用编程的方法通过Web来调用这个应用程序。 对Web service 更精确的解释: Web services是建立可互操作的分布式应用程序的新平台。 作为一个Windows程序员,你可能已经用COM或DCOM建立过基于组件的分布式应用程序。 COM是一个非常好的组件技术,但是我们也很容易举出COM并不能满足要求的情况。 Web service平台是一套标准,它定义了应用程序如何在Web上实现互操作性。 你可以用任何你喜欢的语言,在任何你喜欢的平台上写Web service ,只要我们可以通过Web service标准对这些服务进行查询和访问 2. 基本概念 SOAP Web service建好以后,其他人就会去调用它。 简单对象访问协议(SOAP)提供了标准的远程过程调用( RPC)方法来调用Web service。 SOAP规范定义了SOAP消息的格式,以及怎样通过Http协议来使用SOAP。 SOAP也是基于xml和XSD的,XML是SOAP的数据编码方式。
CS是什么?
《反恐精英》(英文:Counter-Strike;简称CS)是一种以团队合作为主的射击类网络游戏。 1998年,由Valve Software公司制作推出,是一款第一人称射击游戏,属于《半条命》(Half-Life)的其中一个游戏模组(MOD)衍生而成的游戏,《反恐精英》的横空出世,引发玩家的疯狂追捧,所有网吧几乎都在极短的时间里面安上了这款游戏, 到现在仍有不少玩家安装着反恐精英。 此外,还有化学元素CS等与之同名。 2 化学符号Cs(铯)铯 sè元素符号Cs代表的元素原子序数是55,相应的金属单质带银金色。 化学符号Cs也可代表一个铯原子。 【金属铯晶体结构】晶胞为体心立方晶胞,每个晶胞含有2个金属原子。 金属铯色白质软,熔点低,在空气中容易氧化,是制造真空件器、光电管等的重要材料,化学上用做催化剂。 详见铯。 编辑本段3 C/S(Client/Server)结构软件开发可以分为C/S和B/S构架,具体为:C/S结构,即Client/Server (客户机/服务器) 结构,是大家熟知的软件系统体系结构,通过将任务合理分配到Client端和Server端,降低了系统的通讯开销,需要安装客户端才可进行管理操作。 B/S结构,即Browser/Server (浏览器/服务器) 结构,是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。 在这种结构下,用户界面完全通过WWW浏览器实现。 在网络连接模式中,除对等网外,还有另一种形式的网络,即服务器/客户机网,Client/Server。 在客户机/服务器网络中,服务器是网络的核心,而客户机是网络的基础,客户机依靠服务器获得所需要的网络资源,而服务器为客户机提供网络必须的资源。 它是软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配到Client端和Server端来实现,降低了系统的通讯开销。 目前大多数应用软件系统都是Client/Server形式的两层结构,由于现在的软件应用系统正在向分布式的Web应用发展,Web和Client/Server应用都可以进行同样的业务处理,应用不同的模块共享逻辑组件;因此,内部的和外部的用户都可以访问新的和现有的应用系统,通过现有应用系统中的逻辑可以扩展出新的应用系统。 这也就是目前应用系统的发展方向。 什么是C/S结构。 C/S(Client/Server)结构,即大家熟知的客户机和服务器结构。 它是软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配到Client端和Server端来实现,降低了系统的通讯开销。 目前大多数应用软件系统都是Client/Server形式的两层结构,由于现在的软件应用系统正在向分布式的Web应用发展,Web和Client/Server应用都可以进行同样的业务处理,应用不同的模块共享逻辑组件;因此,内部的和外部的用户都可以访问新的和现有的应用系统,通过现有应用系统中的逻辑可以扩展出新的应用系统。 这也就是目前应用系统的发展方向。 编辑本段4 软件学院英文全写:College Of SoftwareCS即为软件学院英文简称编辑本段5 创意组件CS是Creative Suite的缩写,意思是创意组件(套件,套装)。 Adobe 公司把Photoshop® CS, Illustrator® CS, InDesign® CS, GoLive® CS, and Acrobat® 7.0 Professional software with new Version Cue® CS, Adobe Bridge和Adobe Stock Photos所有这些软件组成了一个创意设计的环境,并命名为Creative Suite(创意组件),这样,在给所有这些软件的新版本命名时都加上了后缀CS,最新的版本是CS5。 编辑本段6 企业品牌商标CSC 湖北楚胜专用汽车有限公司产品品牌企业商标注册证书中文品牌为:楚胜,该商标注册于2008年6月7日,有效期至2018年6月6日。 核定使用商品为第十二类:运货车;翻斗车;油槽车;汽车车身;食品运输车(车厢);车身;洒水车;陆地车辆用联动机件;货车翻斗。 注册地址为:湖北省随州市解放路西端七小区99号。 该公司成立于2002年9月19日。 公司取得了《危险化学品包装物、容器生产企业定点证书》和《全国工业产品生产许可证》,并通过了ISO9001质量认证和CCC认证。 主要产品有:混凝土搅拌车、油品运输车、化工液体运输车、粉粒物料运输车、随车起重运输车、高空作业车、道路清障车、环卫垃圾车、洒水车、吸污车、吸粪车、各种半挂车、全挂车等系列,年生产能力可达壹万余辆。 、盘196M 上市日期:1999年6月19日(CS Beta 1.0 )编辑本段7 C#语言源程序后缀名Microsoft 技术 C#语言编写的源程序代码的文件后缀名。
做网管有什么具体的要求?
网管必备之十问十答今天,随着计算机的广泛应用和网络的流行,越来越多的单位和部门开始引入计算机网络管理,从而相应的需要更多的优秀网管.已有几年“脑龄的你是不是也有成为网管的雄心壮志?在你成为一名合格的网管前,你必须先把下面的十个问题弄清楚。 如果连这些最基本的网管知识你都不具备的话,那你怎么能不补这堂课呢? ★计算机网络是什么? 这是首先必须解决的一个问题,绝对是核心概念.我们讲的计算机网络,其实就是利用通讯设备和线路将地理位置不同的、功能独立的多个计算机系统互连起来,以功能完善的网络软件(即网络通信协议、信息交换方式及网络操作系统等)实现网络中资源共享和信息传递的系统。 它的功能最主要的表现在两个方面:一是实现资源共享(包括硬件资源和软件资源的共享);二是在用户之间交换信息。 计算机网络的作用是:不仅使分散在网络各处的计算机能共享网上的所有资源,并且为用户提供强有力的通信手段和尽可能完善的服务,从而极大的方便用户。 从网管的角度来讲,说白了就是运用技术手段实现网络间的信息传递,同时为用户提供服务。 ★计算机网络由哪几个部分组成? 计算机网络通常由三个部分组成,它们是资源子网、通信子网和通信协议.所谓通信子网就是计算机网络中负责数据通信的部分;资源子网是计算机网络中面向用户的部分,负责全网络面向应用的数据处理工作;而通信双方必须共同遵守的规则和约定就称为通信协议,它的存在与否是计算机网络与一般计算机互连系统的根本区别。 所以从这一点上来说,我们应该更能明白计算机网络为什么是计算机技术和通信技术发展的产物了。 ★计算机网络的种类怎么划分? 现在最常见的划分方法是:按计算机网络覆盖的地理范围的大小,一般分为广域网(WAN)和局域网(LAN)(也有的划分再增加一个城域网(MAN))。 顾名思义,所谓广域网无非就是地理上距离较远的网络连接形式,例如著名的Internet网,Chinanet网就是典型的广域网。 而一个局域网的范围通常不超过10公里,并且经常限于一个单一的建筑物或一组相距很近的建筑物网是目前最流行的计算机局域网。 ★计算机网络的体系结构是什么? 在计算机网络技术中,网络的体系结构指的是通信系统的整体设计,它的目的是为网络硬件、软件、协议、存取控制和拓扑提供标准.现在广泛采用的是开放系统互连OSI(Open System Interconnection)的参考模型,它是用物理层、数据链路层、网络层、传送层、对话层、表示层和应用层七个层次描述网络的结构.你应该注意的是,网络体系结构的优劣将直接影响总线、接口和网络的性能.而网络体系结构的关键要素恰恰就是协议和拓扑。 目前最常见的网络体系结构有FDDI、以太网、令牌环网和快速以太网等。 ★计算机网络的协议是什么? 刚才说过网络体系结构的关键要素之一就是网络协议。 而所谓协议(Protocol)就是对数据格式和计算机之间交换数据时必须遵守的规则的正式描述,它的作用和普通话的作用如出一辙。 依据网络的不同通常使用Ethernet(以太网)、NetBEUI、IPX/SPX以及TCP/IP协议。 Ethernet是总线型协议中最常见的网络低层协议,安装容易且造价便宜;而NetBEUI可以说是专为小型局域网设计的网络协议。 对那些无需跨经路由器与大型主机通信的小型局域网,安装NetBEUI协议就足够了,但如果需要路由到另外的局域网,就必须安装IPX/SPX或TCP/IP协议.前者几乎成了Novell网的代名词,而后者就被著名的Internet网所采用.特别是TCP/IP(传输控制协议/网间协议)就是开放系统互连协议中最早的协议之一,也是目前最完全和应用最广的协议,能实现各种不同计算机平台之间的连接、交流和通信。 ★计算机网络的拓扑结构是什么? 计算机网络的拓扑结构是指网络中各个站点相互连接的形式,在局域网中明确一点讲就是文件服务器、工作站和电缆等的连接形式.现在最主要的拓扑结构有总线型拓扑、星型拓扑、环型拓扑以及它们的混合型。 顾名思义,总线型其实就是将文件服务器和工作站都连在称为总线的一条公共电缆上,且总线两端必须有终结器;星型拓扑则是以一台设备作为中央连接点,各工作站都与它直接相连形成星型;而环型拓扑就是将所有站点彼此串行连接,像链子一样构成一个环形回路;把这三种最基本的拓扑结构混合起来运用自然就是混合型了。 ★计算机网络建设中涉及到哪些硬件? 计算机网络的硬件系统通常由五部分组成:文件服务器、工作站(包括终端)、传输介质、网络连接硬件和外部设备。 文件服务器一般要求是配备了高性能CPU系统的微机,它充当网络的核心。 除了管理整个网络上的事务外,它还必须提供各种资源和服务。 而工作站可以说是一种智能型终端,它从文件服务器取出程序和数据后,能在本站进行处理,一般有有盘和无盘之分。 接下来谈谈传输介质,它是通信网络中发送方和接受方之间的物理通路,在局域网中就是用来连接服务器和工作站的电缆线.目前常用的网络传输介质有双绞线(多用于局域网)、同轴电缆和光缆等.常用的网络连接硬件有网络接口卡(NIC)、集线器(HUB)、中继器(Repeater)以及调制解调器(Modem)等。 而打印机、扫描仪、绘图仪以及其它任何可为工作站共享的设备都能被称为外部设备。 ★计算机网络一般都装哪些操作系统? 我们都知道,网络操作系统是整个网络的灵魂,同时也是分布式处理系统的重要体现,它决定了网络的功能并由此决定了不同网络的应用领域即方向。 目前比较流行的网络操作系统主要有Unix、NetWare、Windows NT和新兴流行的历史悠久,发展到今天已经相当成熟,尤其以安全可靠和应用广泛著称;相比之下,NetWare以文件服务及打印管理闻名,而且其目录服务可以说是被业界公认的目录管理杰作;Windows NT是能支持多种硬件平台的真正的32位操作系统,它保持了深受欢迎的Windows用户界面,目前正被越来越多的网络所应用;而最新的Linux凭借其先进的设计思想和自由软件的身分正跻身优秀网络操作系统的行列。 ★计算机网络未来的发展趋势如何? 未来网络的发展有三种基本的技术趋势.一是朝着低成本微机所带来的分布式计算和智能化方向发展,即Client/Server(客户/服务器)结构;二是向适应多媒体通信、移动通信结构发展;三是网络结构适应网络互连,扩大规模以至于建立全球网络。 ★计算机网管的具体业务有哪些? 概括的说网管的业务内容有三个方面:网络建设、网络维护和网络服务。 组建局域网(包括规划拓扑结构、物理硬件实现和网络协议设置)、新增或升级网络设备以及规划网络发展就是网络建设的具体内容;而一般的网络维护则包括网络故障检测和维修(包括硬件和软件),网络安全的防护和管理;至于网络服务则完全可以根据各种网络目的的不同而有所区别,但最常见的都有远程登陆、文件传输、电子邮件和资源共享等,当然也可以侧重一到几个方面.另外,像网站中主页的制作与更新,BBS站台的建设与管理等等也都可纳入网管的业务范围.总之,所谓网管顾名思义就是建设并管理网络的人员,他们的工作和任务就如同大酒店的员工一样,通过经营好酒店来款待从四面八方来的朋友。 优秀的网管没有不说网管这项工作苦的,但如果你肯花时间、下功夫,你说不定也能做得与华军和高春辉一样出色.不过,在你成为优秀的网管前,可千万要把今天讲的这十个问题弄清楚噢!
发表评论