CN114006757B - Gis服务的访问控制方法、装置、架构、介质及设备 - Google Patents
Gis服务的访问控制方法、装置、架构、介质及设备 Download PDFInfo
- Publication number
- CN114006757B CN114006757B CN202111276175.1A CN202111276175A CN114006757B CN 114006757 B CN114006757 B CN 114006757B CN 202111276175 A CN202111276175 A CN 202111276175A CN 114006757 B CN114006757 B CN 114006757B
- Authority
- CN
- China
- Prior art keywords
- gis
- client application
- application program
- server
- service access
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 49
- 238000013475 authorization Methods 0.000 claims abstract description 177
- 238000012795 verification Methods 0.000 claims abstract description 32
- 238000013468 resource allocation Methods 0.000 claims description 31
- 238000012545 processing Methods 0.000 claims description 15
- 238000004590 computer program Methods 0.000 claims description 3
- 230000006870 function Effects 0.000 description 15
- 230000002441 reversible effect Effects 0.000 description 14
- 238000010586 diagram Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000002708 enhancing effect Effects 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 239000002966 varnish Substances 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0281—Proxies
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/45—Structures or tools for the administration of authentication
- G06F21/46—Structures or tools for the administration of authentication by designing passwords or checking the strength of passwords
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/604—Tools and structures for managing or administering access control systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/06—Network architectures or network communication protocols for network security for supporting key management in a packet data network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Automation & Control Theory (AREA)
- Stored Programmes (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本公开提供一种GIS服务的访问控制方法、装置、GIS云平台服务架构、存储介质及电子设备;涉及计算机技术领域。所述方法包括:接收GIS服务访问请求,GIS服务访问请求是由客户端应用程序对GIS功能组件进行配置生成的;代理服务器根据客户端应用程序的应用密钥对GIS服务访问请求进行配置,并将配置后的GIS服务访问请求转发至GIS服务器;GIS服务器对配置后的GIS服务访问请求进行验证,验证通过后向客户端应用程序提供对应的GIS服务。本公开在客户端应用程序请求GIS服务时,通过将客户端应用程序的授权密钥置于服务端,可以避免授权密钥在客户端遭受攻击,增加了GIS服务访问的安全性。
Description
技术领域
本公开涉及计算机技术领域,具体而言,涉及一种GIS服务的访问控制方法、GIS服务的访问控制装置、GIS云平台服务架构、计算机可读存储介质以及电子设备。
背景技术
近年来随着互联网地理信息技术的发展,越来越多的地理信息以服务的方式对外开放。其中,GIS(Geographic Information System,地理信息***)是一种获取、处理、管理和分析地理空间数据的技术,凡是和空间位置有关的应用程序都可以采用GIS技术。
以web应用程序向GIS平台请求服务为例,目前可以通过GIS平台验证客户端携带的授权密钥来确定是否向web应用程序提供服务。但是,在前端环境下使用授权密钥时容易被反编译,使得授权密钥泄漏,从而降低了GIS服务访问的安全性。
因此,如何保障GIS服务开放过程中的安全性显得尤为重要。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本公开的目的在于提供一种GIS服务的访问控制方法、GIS服务的访问控制装置、GIS云平台服务架构、计算机可读存储介质以及电子设备,进而至少在一定程度上克服由于相关技术导致的GIS服务访问的安全性较低的问题。
根据本公开的第一方面,提供一种GIS服务的访问控制方法,包括:
接收GIS服务访问请求,所述GIS服务访问请求是由客户端应用程序对GIS功能组件进行配置生成的;
代理服务器根据所述客户端应用程序的授权密钥对所述GIS服务访问请求进行配置,并将配置后的GIS服务访问请求转发至GIS服务器;
所述GIS服务器对所述配置后的GIS服务访问请求进行验证,验证通过后向所述客户端应用程序提供对应的GIS服务。
在本公开的一种示例性实施例中,所述代理服务器根据所述客户端应用程序的授权密钥对所述GIS服务访问请求进行配置,包括:
获取所述客户端应用程序的授权密钥;
当所述代理服务器配置的代理服务为GIS服务时,将所述客户端应用程序的授权密钥作为所述GIS服务访问请求的请求头。
在本公开的一种示例性实施例中,所述代理服务器根据所述客户端应用程序的授权密钥对所述GIS服务访问请求进行配置,包括:
当所述代理服务器配置的代理服务为GIS服务时,为多个客户端应用程序配置相同的授权密钥,并将所述授权密钥作为所述GIS服务访问请求的请求头。
在本公开的一种示例性实施例中,所述代理服务器根据所述客户端应用程序的授权密钥对所述GIS服务访问请求进行配置,包括:
所述代理服务器接收多个客户端应用程序发出的GIS服务访问请求;
当所述代理服务器配置的代理服务为GIS服务时,为所述多个客户端应用程序配置相同的授权密钥,并将所述授权密钥作为所述GIS服务访问请求的请求头。
在本公开的一种示例性实施例中,所述客户端应用程序包括至少一种应用程序类型的客户端应用程序,所述代理服务器根据所述客户端应用程序的授权密钥对所述GIS服务访问请求进行配置,包括:
获取所述客户端应用程序的授权密钥和应用程序类型;
当所述代理服务器配置的代理服务为GIS服务时,将所述客户端应用程序的授权密钥和应用程序类型作为所述GIS服务访问请求的请求头。
在本公开的一种示例性实施例中,所述代理服务器根据所述客户端应用程序的授权密钥对所述GIS服务访问请求进行配置,包括:
获取所述客户端应用程序的授权密钥和目标用户的用户标识;
当所述代理服务器配置的代理服务为GIS服务时,将所述客户端应用程序的授权密钥和目标用户的用户标识作为所述GIS服务访问请求的请求头。
在本公开的一种示例性实施例中,所述GIS服务器对所述配置后的GIS服务访问请求进行验证,验证通过后向所述客户端应用程序提供对应的GIS服务,包括:
所述GIS服务器获取所述配置后的GIS服务访问请求中的请求头,所述请求头中包含所述客户端应用程序的授权密钥;
对所述客户端应用程序的授权密钥进行验证,验证通过后向所述客户端应用程序提供GIS服务。
在本公开的一种示例性实施例中,所述GIS服务器对所述配置后的GIS服务访问请求进行验证,验证通过后向所述客户端应用程序提供对应的GIS服务,包括:
所述GIS服务器获取所述配置后的GIS服务访问请求中的请求头,所述请求头中包含所述客户端应用程序的授权密钥和应用程序类型;
对所述客户端应用程序的授权密钥进行验证;
验证通过后,根据预设的资源分配规则确定所述客户端应用程序的应用程序类型对应的资源分配量级;
根据所述资源分配量级对所述客户端应用程序进行资源分配。
在本公开的一种示例性实施例中,所述GIS服务器获取所述配置后的GIS服务访问请求中的请求头,所述请求头中包含所述客户端应用程序的授权密钥和目标用户的用户标识;
对所述客户端应用程序的授权密钥进行验证;
验证通过后,根据所述目标用户的用户标识统计所述目标用户的用户信息;
根据所述目标用户的用户信息为所述目标用户提供对应的GIS服务。
根据本公开的第二方面,提供一种GIS服务的访问控制装置,包括:
服务请求接收模块,用于接收GIS服务访问请求,所述GIS服务访问请求是由客户端应用程序对GIS功能组件进行配置生成的;
服务请求配置模块,用于代理服务器根据所述客户端应用程序的授权密钥对所述GIS服务访问请求进行配置,并将配置后的GIS服务访问请求转发至GIS服务器;
服务请求处理模块,用于所述GIS服务器对所述配置后的GIS服务访问请求进行验证,验证通过后向所述客户端应用程序提供对应的GIS服务。
根据本公开的第三方面,提供一种GIS云平台服务架构,所述GIS云平台服务架构包括客户端应用层、GIS能力层和GIS服务层,所述客户端应用层包括至少一个客户端应用程序,所述GIS能力层包括至少一个GIS功能组件,其中,
所述客户端应用层,用于接收GIS服务访问请求,所述GIS服务访问请求是由客户端应用程序对GIS功能组件进行配置生成的;代理服务器根据所述客户端应用程序的授权密钥对所述GIS服务访问请求进行配置,并将配置后的GIS服务访问请求转发至GIS服务器;
所述GIS服务层,用于所述GIS服务器对所述配置后的GIS服务访问请求进行验证,验证通过后向所述客户端应用程序提供对应的GIS服务。
根据本公开的第四方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一项所述的方法。
根据本公开的第五方面,提供一种电子设备,包括:处理器;以及存储器,用于存储所述处理器的可执行指令;其中,所述处理器配置为经由执行所述可执行指令来执行上述任意一项所述的方法。
本公开示例性实施例可以具有以下部分或全部有益效果:
在本公开示例实施方式所提供的GIS服务的访问控制方法中,通过接收GIS服务访问请求,所述GIS服务访问请求是由客户端应用程序对GIS功能组件进行配置生成的;代理服务器根据所述客户端应用程序的授权密钥对所述GIS服务访问请求进行配置,并将配置后的GIS服务访问请求转发至GIS服务器;所述GIS服务器对所述配置后的GIS服务访问请求进行验证,验证通过后向所述客户端应用程序提供对应的GIS服务。一方面,在客户端应用程序请求GIS服务时,通过将客户端应用程序的授权密钥置于服务端,可以避免授权密钥在客户端遭受攻击,增加了GIS服务访问的安全性;另一方面,通过自由配置GIS功能组件,可以灵活地提供用户请求的目标服务,提升了用户体验。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1示出了可以应用本公开实施例的GIS服务的访问控制方法及装置的示例性***架构的示意图;
图2示意性示出了根据本公开的一个实施例的GIS服务的访问控制方法的流程图;
图3示意性示出了根据本公开的一个实施例的独立部署客户端应用程序的流程图;
图4示意性示出了根据本公开的一个实施例的实现一key多用的多端应用混合部署的流程图;
图5示意性示出了根据本公开的一个实施例的实现配额精准控制的流程图;
图6示意性示出了根据本公开的一个实施例的提供个性化服务的流程图;
图7示意性示出了根据本公开的一个实施例的GIS服务的访问控制装置的框图;
图8示意性示出了适于用来实现本公开实施例的电子设备的计算机***的结构示意图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本公开的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而省略所述特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知技术方案以避免喧宾夺主而使得本公开的各方面变得模糊。
此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
图1示出了可以应用本公开实施例的GIS服务的访问控制方法及装置的示例性***架构的示意图。
如图1所示,GIS云平台服务架构100可以包括GIS服务层101、GIS能力层102和客户端应用层103。GIS服务层101可以包括GIS服务器,GIS服务器可以提供GIS服务,GIS服务可以是地理信息计算服务、空间数据存储服务等。GIS能力层102可以包括至少一个GIS功能组件。示例性的,GIS功能组件可以是显示工具组件,如地图坐标识取器,地图编辑器等,也可以是用于路线规划的选择工具组件。客户端应用层103可以包括至少一个终端设备,终端设备可以是云设备,也可以是各种电子设备,包括但不限于台式计算机、便携式计算机、智能手机和平板电脑等。例如,终端设备上可以安装有客户端应用程序如浏览器,可以通过浏览器运行web应用程序。需要说明的是,客户端应用层103可以包括相同应用程序类型的一个或多个客户端应用程序,也可以包括不同应用程序类型的多个客户端应用程序。例如,可以在客户端应用层103部署多个web应用程序,也可以部署web应用程序、原生应用程序和小程序等多个客户端应用程序,本公开对此不做具体限定。其中,GIS能力层102运行在GIS服务层101上,可以通过标准化接口向客户端应用层103提供GIS服务。客户端应用层103运行在GIS能力层102上,可以通过标准化接口向GIS能力层102调取GIS服务。
应该理解,图1中的终端设备、GIS功能组件和GIS服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、GIS功能组件和GIS服务器。例如,GIS服务器可以是一个GIS服务器,也可以是多个GIS服务器组成的服务器集群,还可以是虚拟化中心,本公开对此不做具体限定。
需要说明的是,由于应用程序服务器无法为客户端应用程序提供GIS服务,需要通过代理服务器将GIS服务请求代理至GIS服务器来为客户端应用程序提供GIS服务。因此,本公开示例实施方式中可以使用代理服务器为客户端应用程序提供后台服务。
示例性的,GIS能力层102可以被配置为向代理服务器请求GIS服务,代理服务器再携带认证信息向GIS服务器请求GIS服务,例如,认证信息可以是授权密钥。具体地,客户端应用层103可以用于接收GIS服务访问请求,所述GIS服务访问请求是由客户端应用程序对GIS功能组件进行配置生成的;代理服务器根据客户端应用程序的授权密钥对GIS服务访问请求进行配置,并将配置后的GIS服务访问请求转发至GIS服务器;GIS服务层101可以用于GIS服务器对配置后的GIS服务访问请求进行验证,验证通过后向客户端应用程序提供对应的GIS服务。
本公开示例实施方式中,也可以沿纵向将GIS云平台服务架构100分为外部应用程序、数据交换模块和计算服务模块。其中,外部应用程序可以包括客户端应用程序(如web应用程序、原生应用程序和小程序等)和代理服务器。客户端应用程序可以将GIS功能组件配置为向代理服务器请求GIS服务,代理服务器可以为该请求配置授权密钥,并将携带授权密钥的请求代理至GIS服务器,以使GIS服务器为客户端应用程序提供GIS服务。数据交换模块位于计算服务模块与外部应用程序之间,可以用于鉴定授权密钥的有效性和控制、统计、鉴别请求来源。例如,当鉴定授权密钥已经被授权则提供GIS服务,没有被授权则拒绝提供GIS服务。再例如,可以根据授权密钥鉴别请求来源,从而对不同应用程序类型的客户端应用程序进行资源分配,也可以通过统计请求来源实现用户数据的统计,并为用户精准地提供个性化服务。计算服务模块可以包括底层虚拟资源层、GIS服务层和GIS能力层,底层虚拟资源层又可以包括处理器、内部存储器、外部存储器和网络,GIS服务层运行在底层虚拟资源层上,可以包括GIS数据处理中枢、GIS存储中枢和GIS服务中枢,GIS能力层可以与GIS服务层进行交互,共同向用户提供GIS服务。
以下对本公开实施例的技术方案进行详细阐述:
以基于web应用程序的GIS云平台服务授权为例,通常可以在引入云应用程序SDK(Software Development Kit,软件开发工具包)时附加授权密钥,并在云应用程序控制台设置Referer白名单。在Referer保护机制中,浏览器向服务端发送的Referer请求头可以包含当前请求页面的来源页面的地址,表示通过来源页面URL(Uniform Resource Locator,统一资源定位符)进入到当前请求页面。同时,服务端可以使用Referer请求头识别访问来源,并进行统计分析、日志记录以及缓存优化等。
可以看出,该方法是通过前端js文件(JavaScript代码,以“.js”为扩展名的文本文档)携带授权密钥来请求GIS服务。但是,在前端环境下使用授权密钥可能会暴露用户的浏览历史,而且容易被反编译,使得授权密钥泄漏,进而造成GIS服务滥用。另外,当来源页面采用的协议为表示本地文件的“file”或“data”URL时,或者,当前请求页面采用非安全协议,而来源页面采用安全协议时,浏览器均不会向服务端发送Referer请求头。此时若利用Referer请求头进行鉴别,服务端并不会提供GIS服务,否则需要将授权权限设置为“全部允许”,从而降低了GIS服务访问的安全性。
基于上述一个或多个问题,本示例实施方式提供了一种GIS服务的访问控制方法。参考图2所示,该GIS服务的访问控制方法可以包括步骤S210至步骤S230:
步骤S210.接收GIS服务访问请求,所述GIS服务访问请求是由客户端应用程序对GIS功能组件进行配置生成的;
步骤S220.代理服务器根据所述客户端应用程序的授权密钥对所述GIS服务访问请求进行配置,并将配置后的GIS服务访问请求转发至GIS服务器;
步骤S230.所述GIS服务器对所述配置后的GIS服务访问请求进行验证,验证通过后向所述客户端应用程序提供对应的GIS服务。
在本公开示例实施方式所提供的GIS服务的访问控制方法中,通过接收GIS服务访问请求,所述GIS服务访问请求是由客户端应用程序对GIS功能组件进行配置生成的;代理服务器根据所述客户端应用程序的授权密钥对所述GIS服务访问请求进行配置,并将配置后的GIS服务访问请求转发至GIS服务器;所述GIS服务器对所述配置后的GIS服务访问请求进行验证,验证通过后向所述客户端应用程序提供对应的GIS服务。一方面,在客户端应用程序请求GIS服务时,通过将客户端应用程序的授权密钥置于服务端,可以避免授权密钥在客户端遭受攻击,增加了GIS服务访问的安全性;另一方面,通过自由配置GIS功能组件,可以灵活地提供用户请求的目标服务,提升了用户体验。
下面,对于本示例实施方式的上述步骤进行更加详细的说明。
在步骤S210中,接收GIS服务访问请求,所述GIS服务访问请求是由客户端应用程序对GIS功能组件进行配置生成的。
本公开示例实施方式中,客户端应用程序向GIS云平台请求服务时,可以选择在服务端配置授权密钥,以避免授权密钥在客户端发生泄漏,从而增强GIS服务访问的安全性。示例性的,可以将客户端应用程序由代理服务器托管,通过反向代理方式实现由代理服务器向客户端应用程序提供GIS服务。以web应用程序为例,代理服务器在接收到web应用程序发出的GIS服务访问请求后,可以先将GIS服务访问请求转发至GIS服务器,并将GIS服务器提供的GIS服务返回至web应用程序。其中,代理服务器可以是Nginx服务器、Varnish服务器和ATS服务器等具有反向代理功能的服务器,本公开对此不做具体限定。
客户端应用程序可以将GIS功能组件配置为向代理服务器请求GIS服务。具体地,客户端应用程序向代理服务器请求GIS服务时,可以将GIS功能组件的服务参数配置为GIS服务,并生成GIS服务访问请求,进而将GIS服务访问请求发送至代理服务器以请求GIS服务。其中,将GIS功能组件的服务参数配置为GIS服务可以是将GIS功能组件参数option的服务前缀配置为‘/gis’,如option:{server:'/gis/...',//指定GIS后台服务前缀}。GIS服务访问请求可以是HTTP(HyperText Transfer Protool,超文本传输协议)请求,HTTP请求可以由请求行、请求头、空行和请求数据组成。其中,请求头由关键字/值对组成,用来通知服务器有关于客户端请求的信息。请求行由请求方法字段、URL字段和HTTP协议版本字段组成。HTTP协议请求行可以有GET、POST、HEAD等请求方法,所述请求方法描述了服务器应该执行的操作。URL字段用来描述要对哪个资源执行所述请求方法。HTTP协议版本字段用来告知服务器,客户端使用的是哪种HTTP协议。
本公开可以将GIS功能组件配置为向代理服务器请求GIS服务,也可以自由配置GIS功能组件请求的目标任务以满足用户的实际需求,而不是直接请求固定的云服务地址,从而提升了用户体验。
在步骤S220中,代理服务器根据所述客户端应用程序的授权密钥对所述GIS服务访问请求进行配置,并将配置后的GIS服务访问请求转发至GIS服务器。
本公开示例实施方式中,代理服务器也可以配置多种代理服务,如GIS服务。代理服务器接收客户端应用程序发出的GIS服务访问请求时,可以获取为该客户端应用程序配置的授权密钥。当根据GIS服务访问请求匹配到对应的GIS反向代理服务,即代理服务器配置的代理服务也为GIS服务时,代理服务器配置的反向代理参数proxy_pass可以直接指向待访问的GIS服务器的地址。在反向代理过程中,可以将客户端应用程序的授权密钥作为GIS服务访问请求的请求头。例如,可以将该客户端应用程序的授权密钥放入GIS服务访问请求的请求头中,如key:授权密钥。可以理解的是,请求头还可以包括如host:GIS服务器地址、user-Agent:产生请求的应用程序类型等信息,本公开对此不做限制。
其中,授权密钥是由目标应用程序对应的目标服务器,预先在宿主应用程序对应的宿主服务器上对目标应用程序进行注册,并由宿主服务器分配给目标应用程序的密钥。不同的目标应用程序对应不同的授权密钥。若用户在终端设备上第一次触发目标应用程序,那么终端设备可以从目标服务器获取授权密钥,若用户此前在终端设备上触发过目标应用程序,那么终端设备可以直接从缓存中读取授权密钥,也可以从目标服务器获取授权密钥。本公开实施例中,授权密钥可以是通过算法生成的16进制或32进制的字符串,用来唯一标识客户端应用程序。
本公开在客户端应用程序请求GIS服务时,通过将客户端应用程序的授权密钥置于服务端,可以避免授权密钥在客户端遭受攻击,如防止恶意用户通过反编译、查看源码等方式盗取授权密钥,增加了GIS服务访问的安全性。而且,在服务端使用授权密钥不会暴露用户的浏览历史,也可以保护用户隐私。
代理服务器可以将配置后的GIS服务访问请求转发至GIS服务器,也就是将携带授权密钥的GIS服务访问请求代理至GIS服务器,以便于GIS服务器为客户端应用程序提供GIS服务。例如,GIS服务器的数据交换模块可以验证授权密钥的有效性,进而决定是否向客户端应用程序提供GIS服务。
在步骤S230中,所述GIS服务器对所述配置后的GIS服务访问请求进行验证,验证通过后向所述客户端应用程序提供对应的GIS服务。
GIS服务器接收到来自代理服务器转发的配置后的GIS服务访问请求后,可以获取GIS服务访问请求中的请求头,该请求头中包含请求GIS服务的客户端应用程序的授权密钥。GIS服务器的数据交换模块可以对客户端应用程序的授权密钥进行验证。例如,可以将接收到的授权密钥与GIS服务器中存储的授权密钥进行匹配,若在GIS服务器中匹配到与客户端应用程序对应的授权密钥,表示验证通过,GIS服务器的计算服务模块可以向该客户端应用程序提供GIS服务,否则计算服务模块可以拒绝向该客户端应用程序提供GIS服务。
本公开提供了一种基于组件开发方式、以服务端认证为鉴权手段的GIS云平台服务架构,应用GIS云平台服务架构实现的GIS服务的访问控制方法可以解决基于web的应用程序鉴权和用户隐私保护问题。通过将客户端应用程序的授权密钥置于服务端,可以避免授权密钥在客户端遭受攻击,增加了GIS服务访问的安全性。而且,通过自由配置GIS功能组件,可以灵活地提供用户请求的目标服务,提升了用户体验。
一种示例实施方式中,客户端应用程序可以包括至少一种应用程序类型的客户端应用程序。例如,可以在客户端应用层部署多个相同应用类型的客户端应用程序。示例性的,代理服务器可以接收来自多个相同应用类型的客户端应用程序发出的GIS服务访问请求,当代理服务器配置的代理服务为GIS服务时,可以为多个客户端应用程序配置相同的授权密钥,并将该授权密钥作为每个GIS服务访问请求的请求头。以web应用程序请求GIS服务,代理服务器为Nginx服务器为例,参考图3所示,可以根据步骤310至步骤S360实现多个web应用程序的独立部署。
步骤S310.安装Nginx服务器,并托管web应用程序。其中,多个web应用程序可以由多个Nginx服务器托管,也可以由一个Nginx服务器创建多个虚拟机,每个虚拟机托管一个web应用程序;
步骤S320.Nginx服务器配置key请求头。key可以为授权密钥,每个Nginx服务器可以为对应的一个web应用程序配置授权密钥请求头。若由一个Nginx服务器创建多个虚拟机托管多个web应用程序时,该Nginx服务器可以为多个web应用程序配置一个相同的授权密钥请求头;
步骤S330.Web应用程序将GIS功能组件配置为向代理服务器请求GIS服务。例如,可以将GIS功能组件参数option的服务前缀配置为‘/gis’;
步骤S340.Nginx服务器配置GIS代理服务。其中,Nginx服务器可以配置多个代理服务,如‘/gis’反向代理服务等,当Nginx服务器接收到与GIS反向代理服务对应的GIS服务访问请求时,Nginx服务器配置的反向代理参数proxy_pass可以直接指向待访问的GIS服务器的地址;
步骤S350.Nginx服务器将配置后的GIS服务访问请求转发至GIS服务器。可以将配置好的Web应用程序的授权密钥放入该Web应用程序发出的GIS服务访问请求的请求头中,并将携带授权密钥的GIS服务访问请求转发至GIS服务器;
步骤S360.GIS服务器对Web应用程序的授权密钥进行鉴权,并提供GIS服务。GIS服务器的数据交换模块可以验证授权密钥的有效性,从而决定是否向每个客户端应用程序提供GIS服务。
该示例实施方式中,web应用程序发送至Nginx服务器的GIS服务访问请求没有携带授权密钥,而是Nginx服务器将授权密钥放入GIS服务访问请求的请求头中,使得向GIS服务器发送的GIS服务访问请求携带了授权密钥。通过将客户端应用程序的授权密钥置于服务端,可以避免授权密钥在客户端遭受攻击,如防止恶意用户通过反编译、查看源码等方式盗取授权密钥,增加了GIS服务访问的安全性。而且,在服务端使用授权密钥不会暴露用户的浏览历史,也可以保护用户隐私。另外,在步骤S320中,若Nginx服务器为多个web应用程序配置一个相同的授权密钥请求头,GIS服务器也可以根据该授权密钥对多个web应用程序进行统一部署,本公开对此不做具体限定。
一种示例实施方式中,也可以在客户端应用层部署多个不同应用类型的客户端应用程序。例如,可以包括web应用程序、原生应用程序和小程序三个不同应用类型的客户端应用程序。参考图4所示,可以根据步骤410至步骤S460实现一key多用的多端应用混合部署。
步骤S410.安装Nginx服务器,并托管客户端应用程序。例如,一个Nginx服务器可以创建多个虚拟机,每个虚拟机托管一个应用类型的客户端应用程序;
步骤S420.Nginx服务器配置key请求头。Nginx服务器可以对三个不同应用类型的客户端应用程序的key请求头进行统一配置,也就是可以为三个不同应用类型的客户端应用程序配置相同的授权密钥;
步骤S430.客户端应用程序将GIS功能组件配置为向代理服务器请求GIS服务。例如,web应用程序可以将GIS功能组件参数option的服务前缀配置为‘/gis’,原生应用程序和小程序发出的请求地址可以设置为“http://..../gis”;
步骤S440.Nginx服务器配置GIS代理服务。当Nginx服务器接收到与GIS反向代理服务对应的GIS服务访问请求时,Nginx服务器配置的反向代理参数proxy_pass可以直接指向待访问的GIS服务器的地址;
步骤S450.Nginx服务器将配置后的GIS服务访问请求转发至GIS服务器。可以将配置好的授权密钥放入每个应用程序发出的GIS服务访问请求的请求头中,并将携带授权密钥的GIS服务访问请求转发至GIS服务器;
步骤S460.GIS服务器对授权密钥进行鉴权,并提供GIS服务。GIS服务器的数据交换模块可以验证授权密钥的有效性,从而决定是否向每个客户端应用程序提供GIS服务。
该示例实施方式中,每个客户端应用程序发送至Nginx服务器的GIS服务访问请求没有携带授权密钥,而是Nginx服务器将授权密钥放入GIS服务访问请求的请求头中,使得向GIS服务器发送的GIS服务访问请求携带了授权密钥。由于key(授权密钥)是存储在客户后台服务器即代理服务器中,可以同时服务多种应用程序类型的客户端,并通过统一部署服务器的方式实现了一key多用。在一key多用时,可以避免授权密钥在客户端遭受攻击,增加了GIS服务访问的安全性。
一种示例实施方式中,GIS服务器的数据交换模块还可以根据授权密钥鉴别请求来源,从而对应客户端应用程序进行资源分配。示例性的,客户端应用层可以部署多个不同应用程序类型的客户端应用程序。代理服务器接收客户端应用程序发出的GIS服务访问请求时,可以获取为该客户端应用程序配置的授权密钥和应用程序类型。当代理服务器配置的代理服务为GIS服务时,代理服务器可以将客户端应用程序的授权密钥和应用程序类型作为GIS服务访问请求的请求头,以使GIS服务器根据客户端应用程序的应用程序类型和授权密钥对客户端应用程序进行资源分配。
GIS服务器接收到来自代理服务器转发的配置后的GIS服务访问请求后,可以获取GIS服务访问请求中的请求头,该请求头中包含请求GIS服务的客户端应用程序的授权密钥和应用程序类型。GIS服务器的数据交换模块可以对客户端应用程序的授权密钥进行验证,验证通过后,GIS服务器的计算服务模块可以根据预设的资源分配规则确定所述客户端应用程序的应用程序类型对应的资源分配量级,并根据资源分配量级对客户端应用程序进行资源分配。举例而言,在预设的资源分配规则中,web应用程序对应的资源分配量级为A级,原生应用程序对应的资源分配量级为B级,小程序对应的资源分配量级为C级,不同的资源分配量级对应的可以加载不同的资源或缓存不同的指定资源。例如,资源分配量级为A级时可以加载50M的第一地图资源,资源分配量级为B级时可以加载10M的第二地图资源,资源分配量级为C级时可以加载1M的第一地图资源。再例如,资源分配量级为A级时可以向GIS服务器请求100次GIS服务,资源分配量级为B级时可以向GIS服务器请求50次GIS服务,资源分配量级为C级时可以向GIS服务器请求20次GIS服务。用户可以根据实际需求对资源分配量级进行不同的设定,本公开对此不做具体限定。
示例性的,可以包括web应用程序、原生应用程序和小程序三个不同应用类型的客户端应用程序。参考图5所示,可以根据步骤510至步骤S560基于多端应用混合部署,结合预设的资源分配规则实现配额精准控制。
步骤S510.安装Nginx服务器,并托管客户端应用程序。
步骤S520.Nginx服务器配置key请求头和应用程序类型请求头。每个Nginx服务器可以为每一个客户端应用程序配置授权密钥请求头,同时,还可以为每一个客户端应用程序配置应用程序类型请求头;
步骤S530.客户端应用程序将GIS功能组件配置为向代理服务器请求GIS服务。例如,web应用程序可以将GIS功能组件参数option的服务前缀配置为‘/gis’,原生应用程序和小程序发出的请求地址可以设置为“http://..../gis”;
步骤S540.Nginx服务器配置GIS代理服务。当Nginx服务器接收到与GIS反向代理服务对应的GIS服务访问请求时,Nginx服务器配置的反向代理参数proxy_pass可以直接指向待访问的GIS服务器的地址;
步骤S550.Nginx服务器将配置后的GIS服务访问请求转发至GIS服务器。可以将配置好的授权密钥和应用程序类型均放入每个应用程序发出的GIS服务访问请求的请求头中,并将携带授权密钥和应用程序类型的GIS服务访问请求转发至GIS服务器;
步骤S560.GIS服务器对授权密钥进行鉴权,并根据应用程序类型对每个客户端应用程序进行资源分配。GIS服务器的数据交换模块可以验证授权密钥的有效性,验证通过后,还可以根据应用程序类型鉴定请求来源,并进行配额消耗统计,以使GIS服务器的计算服务模块对不同客户端应用程序分别进行配额控制,例如,可以结合GIS服务器的缓存功能实现数据分层配额控制。例如,不同客户端应用程序可以加载不同的地图资源或缓存指定资源,可以避免在高并发场景下分配过多的资源,造成不必要的配额消耗。
该示例实施方式中,每个客户端应用程序发送至Nginx服务器的GIS服务访问请求没有携带授权密钥,而是Nginx服务器将授权密钥放入GIS服务访问请求的请求头中,使得向GIS服务器发送的GIS服务访问请求携带了授权密钥。通过采用web服务器(代理服务器)自带的跨域限制机制,由web服务器自动进行域控制,可以防止被恶意用户盗用配额,增加了GIS服务访问的安全性。
一种示例实施方式中,GIS服务器中的数据交换模块还可以通过统计请求来源实现用户数据的统计,并为用户精准地提供个性化服务。示例性的,客户端应用层可以部署多个不同应用程序类型的客户端应用程序,代理服务器接收客户端应用程序发出的GIS服务访问请求时,可以获取为该客户端应用程序配置的授权密钥和目标用户的用户标识。当代理服务器配置的代理服务为GIS服务时,代理服务器可以将客户端应用程序的授权密钥和目标用户的用户标识作为GIS服务访问请求的请求头,以使GIS服务器根据客户端应用程序的应用程序类型和授权密钥对客户端应用程序进行资源分配,以使GIS服务器根据目标用户的用户标识和客户端应用程序的授权密钥统计目标用户的用户信息。
GIS服务器接收到来自代理服务器转发的配置后的GIS服务访问请求后,可以获取GIS服务访问请求中的请求头,该请求头中包含请求GIS服务的客户端应用程序的授权密钥和目标用户的用户标识。GIS服务器的数据交换模块可以对客户端应用程序的授权密钥进行验证,验证通过后,GIS服务器的计算服务模块可以根据目标用户的用户标识统计该用户的用户信息,并根据目标用户的用户信息为该目标用户提供对应的GIS服务。举例而言,可以根据目标用户的用户标识获取目标用户的历史出行路线,对应的,可以为目标用户提供针对历史出行路线的路况预测服务,也可以根据目标用户的用户标识获取目标用户的历史出行地点如用户去过的多个景点,对应的,可以为目标用户提供景点推荐服务。需要说明的是,GIS服务器记录用户信息时需要经过用户同意。
例如,可以包括web应用程序、原生应用程序和小程序三个不同应用类型的客户端应用程序。参考图6所示,可以根据步骤610至步骤S660统计用户信息,并为用户提供更精准的个性化服务。
步骤S610.安装Nginx服务器,并托管客户端应用程序。
步骤S620.Nginx服务器配置key请求头和token请求头。Key是授权密钥,可以唯一标识客户端应用程序,token是用户标识,可以唯一标识用户。每个Nginx服务器可以为每一个客户端应用程序配置授权密钥请求头,同时,还可以为每一个客户端应用程序配置用户标识请求头;
步骤S630.客户端应用程序将GIS功能组件配置为向代理服务器请求GIS服务。例如,web应用程序可以将GIS功能组件参数option的服务前缀配置为‘/gis’,原生应用程序和小程序发出的请求地址可以设置为“http://..../gis”;
步骤S640.Nginx服务器配置GIS代理服务。当Nginx服务器接收到与GIS反向代理服务对应的GIS服务访问请求时,Nginx服务器配置的反向代理参数proxy_pass可以直接指向待访问的GIS服务器的地址;
步骤S650.Nginx服务器将配置后的GIS服务访问请求转发至GIS服务器。可以将配置好的授权密钥和用户标识均放入每个应用程序发出的GIS服务访问请求的请求头中,并将携带授权密钥和用户标识的GIS服务访问请求转发至GIS服务器;
步骤S660.GIS服务器对授权密钥进行鉴权,并根据用户标识为目标用户提供个性化的GIS服务。GIS服务器的数据交换模块可以验证授权密钥的有效性,验证通过后,还可以根据结合授权密钥和用户标识统计用户数据,如可以对用户的行程、定位数据等进行统计,可以根据统计得到的用户数据更加精准地为用户提供个性化的服务。
该示例实施方式中,每个客户端应用程序发送至Nginx服务器的GIS服务访问请求没有携带授权密钥,而是Nginx服务器将授权密钥放入GIS服务访问请求的请求头中,使得向GIS服务器发送的GIS服务访问请求携带了授权密钥。通过采用web应用程序自带的跨域限制机制,由web应用程序自动进行域控制,并结合代理服务器的用户标识进行流量过滤,可以防止被恶意用户盗用配额,增加了GIS服务访问的安全性。而且,将流量过滤从GIS服务器端前移至客户端(web应用程序),可以降低GIS服务器的压力,从而提升GIS服务器提供服务的效能。
在本公开示例实施方式所提供的GIS服务的访问控制方法中,通过接收GIS服务访问请求,所述GIS服务访问请求是由客户端应用程序对GIS功能组件进行配置生成的;代理服务器根据所述客户端应用程序的授权密钥对所述GIS服务访问请求进行配置,并将配置后的GIS服务访问请求转发至GIS服务器;所述GIS服务器对所述配置后的GIS服务访问请求进行验证,验证通过后向所述客户端应用程序提供对应的GIS服务。一方面,在客户端应用程序请求GIS服务时,通过将客户端应用程序的授权密钥置于服务端,可以避免授权密钥在客户端遭受攻击,增加了GIS服务访问的安全性;另一方面,通过自由配置GIS功能组件,可以灵活地提供用户请求的目标服务,提升了用户体验。
应当注意,尽管在附图中以特定顺序描述了本公开中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。
进一步的,本示例实施方式中,还提供了一种GIS服务的访问控制装置。参考图7所示,该GIS服务的访问控制装置700可以包括服务请求接收模块710、服务请求配置模块720和,服务请求处理模块730,其中:
服务请求接收模块710,接收GIS服务访问请求,所述GIS服务访问请求是由客户端应用程序对GIS功能组件进行配置生成的;
服务请求配置模块720,用于代理服务器根据所述客户端应用程序的授权密钥对所述GIS服务访问请求进行配置,并将配置后的GIS服务访问请求转发至GIS服务器;
服务请求处理模块730,用于所述GIS服务器对所述配置后的GIS服务访问请求进行验证,验证通过后向所述客户端应用程序提供对应的GIS服务。
在一种可选的实施方式中,服务请求配置模块720包括:
第一数据获取单元,用于获取所述客户端应用程序的授权密钥;
第一请求配置单元,用于当所述代理服务器配置的代理服务为GIS服务时,将所述客户端应用程序的授权密钥作为所述GIS服务访问请求的请求头。
在一种可选的实施方式中,服务请求配置模块720包括:
第二请求配置单元,用于当所述代理服务器配置的代理服务为GIS服务时,为多个客户端应用程序配置相同的授权密钥,并将所述授权密钥作为所述GIS服务访问请求的请求头。
在一种可选的实施方式中,所述客户端应用程序包括至少一种应用程序类型的客户端应用程序,服务请求配置模块720包括:
第二数据获取单元,用于获取所述客户端应用程序的授权密钥和应用程序类型;
第三请求配置单元,用于当所述代理服务器配置的代理服务为GIS服务时,将所述客户端应用程序的授权密钥和应用程序类型作为所述GIS服务访问请求的请求头。
在一种可选的实施方式中,服务请求配置模块720包括:
第三数据获取单元,用于获取所述客户端应用程序的授权密钥和目标用户的用户标识;
第四请求配置单元,用于当所述代理服务器配置的代理服务为GIS服务时,将所述客户端应用程序的授权密钥和目标用户的用户标识作为所述GIS服务访问请求的请求头。
在一种可选的实施方式中,服务请求处理模块730包括:
第一请求头获取模块,用于所述GIS服务器获取所述配置后的GIS服务访问请求中的请求头,所述请求头中包含所述客户端应用程序的授权密钥;
第一任务提供模块,用于对所述客户端应用程序的授权密钥进行验证,验证通过后向所述客户端应用程序提供GIS服务。
在一种可选的实施方式中,服务请求处理模块730包括:
第二请求头获取模块,用于所述GIS服务器获取所述配置后的GIS服务访问请求中的请求头,所述请求头中包含所述客户端应用程序的授权密钥和应用程序类型;
第二任务提供模块,用于对所述客户端应用程序的授权密钥进行验证;验证通过后,根据预设的资源分配规则确定所述客户端应用程序的应用程序类型对应的资源分配量级;根据所述资源分配量级对所述客户端应用程序进行资源分配。
在一种可选的实施方式中,服务请求处理模块730包括:
第三请求头获取模块,用于所述GIS服务器获取所述配置后的GIS服务访问请求中的请求头,所述请求头中包含所述客户端应用程序的授权密钥和目标用户的用户标识;
第三任务提供模块,用于对所述客户端应用程序的授权密钥进行验证;验证通过后,根据所述目标用户的用户标识统计所述目标用户的用户信息;根据所述目标用户的用户信息为所述目标用户提供对应的GIS服务。
上述GIS服务的访问控制装置中各模块的具体细节已经在对应的GIS服务的访问控制方法中进行了详细的描述,因此此处不再赘述。
上述装置中各模块可以是通用处理器,包括:中央处理器、网络处理器等;还可以是数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。各模块也可以由软件、固件等形式来实现。上述装置中的各处理器可以是独立的处理器,也可以集成在一起。
本公开的示例性实施方式还提供了一种计算机可读存储介质,其上存储有能够实现本说明书上述方法的程序产品。在一些可能的实施方式中,本公开的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在电子设备上运行时,程序代码用于使电子设备执行本说明书上述“示例性方法”部分中描述的根据本公开各种示例性实施方式的步骤。该程序产品可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在电子设备,例如个人电脑上运行。然而,本公开的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。
程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本公开操作的程序代码,程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
本公开的示例性实施方式还提供了一种能够实现上述方法的电子设备。下面参照图8来描述根据本公开的这种示例性实施方式的电子设备800。图8显示的电子设备800仅仅是一个示例,不应对本公开实施方式的功能和使用范围带来任何限制。
如图8所示,电子设备800可以以通用计算设备的形式表现。电子设备800的组件可以包括但不限于:至少一个处理单元810、至少一个存储单元820、连接不同***组件(包括存储单元820和处理单元810)的总线830和显示单元840。
存储单元820存储有程序代码,程序代码可以被处理单元810执行,使得处理单元810执行本说明书上述“示例性方法”部分中描述的根据本公开各种示例性实施方式的步骤。例如,处理单元810可以执行图2至图7中任意一个或多个方法步骤。
存储单元820可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)821和/或高速缓存存储单元822,还可以进一步包括只读存储单元(ROM)823。
存储单元820还可以包括具有一组(至少一个)程序模块825的程序/实用工具824,这样的程序模块825包括但不限于:操作***、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线830可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、***总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
电子设备800也可以与一个或多个外部设备900(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备800交互的设备通信,和/或与使得该电子设备800能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口850进行。并且,电子设备800还可以通过网络适配器860与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器860通过总线830与电子设备800的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备800使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID***、磁带驱动器以及数据备份存储***等。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本公开示例性实施方式的方法。
此外,上述附图仅是根据本公开示例性实施方式的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (12)
1.一种GIS服务的访问控制方法,其特征在于,包括:
接收GIS服务访问请求,所述GIS服务访问请求是由客户端应用程序对GIS功能组件进行配置生成的;
代理服务器根据所述客户端应用程序的授权密钥对所述GIS服务访问请求进行配置,并将配置后的GIS服务访问请求转发至GIS服务器;所述授权密钥是由所述客户端应用程序对应的目标服务器,预先对所述客户端应用程序进行注册,并通过注册服务器分配给所述客户端应用程序的密钥;
所述GIS服务器对所述配置后的GIS服务访问请求进行验证,验证通过后向所述客户端应用程序提供对应的GIS服务。
2.根据权利要求1所述的GIS服务的访问控制方法,其特征在于,所述代理服务器根据所述客户端应用程序的授权密钥对所述GIS服务访问请求进行配置,包括:
获取所述客户端应用程序的授权密钥;
当所述代理服务器配置的代理服务为GIS服务时,将所述客户端应用程序的授权密钥作为所述GIS服务访问请求的请求头。
3.根据权利要求1所述的GIS服务的访问控制方法,其特征在于,所述代理服务器根据所述客户端应用程序的授权密钥对所述GIS服务访问请求进行配置,包括:
当所述代理服务器配置的代理服务为GIS服务时,为多个客户端应用程序配置相同的授权密钥,并将所述授权密钥作为所述GIS服务访问请求的请求头。
4.根据权利要求1所述的GIS服务的访问控制方法,其特征在于,所述客户端应用程序包括至少一种应用程序类型的客户端应用程序,所述代理服务器根据所述客户端应用程序的授权密钥对所述GIS服务访问请求进行配置,包括:
获取所述客户端应用程序的授权密钥和应用程序类型;
当所述代理服务器配置的代理服务为GIS服务时,将所述客户端应用程序的授权密钥和应用程序类型作为所述GIS服务访问请求的请求头。
5.根据权利要求1所述的GIS服务的访问控制方法,其特征在于,所述代理服务器根据所述客户端应用程序的授权密钥对所述GIS服务访问请求进行配置,包括:
获取所述客户端应用程序的授权密钥和目标用户的用户标识;
当所述代理服务器配置的代理服务为GIS服务时,将所述客户端应用程序的授权密钥和目标用户的用户标识作为所述GIS服务访问请求的请求头。
6.根据权利要求1所述的GIS服务的访问控制方法,其特征在于,所述GIS服务器对所述配置后的GIS服务访问请求进行验证,验证通过后向所述客户端应用程序提供对应的GIS服务,包括:
所述GIS服务器获取所述配置后的GIS服务访问请求中的请求头,所述请求头中包含所述客户端应用程序的授权密钥;
对所述客户端应用程序的授权密钥进行验证,验证通过后向所述客户端应用程序提供GIS服务。
7.根据权利要求1所述的GIS服务的访问控制方法,其特征在于,所述GIS服务器对所述配置后的GIS服务访问请求进行验证,验证通过后向所述客户端应用程序提供对应的GIS服务,包括:
所述GIS服务器获取所述配置后的GIS服务访问请求中的请求头,所述请求头中包含所述客户端应用程序的授权密钥和应用程序类型;
对所述客户端应用程序的授权密钥进行验证;
验证通过后,根据预设的资源分配规则确定所述客户端应用程序的应用程序类型对应的资源分配量级;
根据所述资源分配量级对所述客户端应用程序进行资源分配。
8.根据权利要求1所述的GIS服务的访问控制方法,其特征在于,所述GIS服务器对所述配置后的GIS服务访问请求进行验证,验证通过后向所述客户端应用程序提供对应的GIS服务,包括:
所述GIS服务器获取所述配置后的GIS服务访问请求中的请求头,所述请求头中包含所述客户端应用程序的授权密钥和目标用户的用户标识;
对所述客户端应用程序的授权密钥进行验证;
验证通过后,根据所述目标用户的用户标识统计所述目标用户的用户信息;
根据所述目标用户的用户信息为所述目标用户提供对应的GIS服务。
9.一种GIS服务的访问控制装置,其特征在于,包括:
服务请求接收模块,用于接收GIS服务访问请求,所述GIS服务访问请求是由客户端应用程序对GIS功能组件进行配置生成的;
服务请求配置模块,用于代理服务器根据所述客户端应用程序的授权密钥对所述GIS服务访问请求进行配置,并将配置后的GIS服务访问请求转发至GIS服务器;所述授权密钥是由所述客户端应用程序对应的目标服务器,预先对所述客户端应用程序进行注册,并通过注册服务器分配给所述客户端应用程序的密钥;
服务请求处理模块,用于所述GIS服务器对所述配置后的GIS服务访问请求进行验证,验证通过后向所述客户端应用程序提供对应的GIS服务。
10.一种GIS云平台服务架构,其特征在于,所述GIS云平台服务架构包括客户端应用层、GIS能力层和GIS服务层,所述客户端应用层包括至少一个客户端应用程序,所述GIS能力层包括至少一个GIS功能组件,其中,
所述客户端应用层,用于接收GIS服务访问请求,所述GIS服务访问请求是由客户端应用程序对GIS功能组件进行配置生成的;代理服务器根据所述客户端应用程序的授权密钥对所述GIS服务访问请求进行配置,并将配置后的GIS服务访问请求转发至GIS服务器;所述授权密钥是由所述客户端应用程序对应的目标服务器,预先对所述客户端应用程序进行注册,并通过注册服务器分配给所述客户端应用程序的密钥;
所述GIS服务层,用于所述GIS服务器对所述配置后的GIS服务访问请求进行验证,验证通过后向所述客户端应用程序提供对应的GIS服务。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-8任一项所述方法。
12.一种电子设备,其特征在于,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行权利要求1-8任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111276175.1A CN114006757B (zh) | 2021-10-29 | 2021-10-29 | Gis服务的访问控制方法、装置、架构、介质及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111276175.1A CN114006757B (zh) | 2021-10-29 | 2021-10-29 | Gis服务的访问控制方法、装置、架构、介质及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114006757A CN114006757A (zh) | 2022-02-01 |
CN114006757B true CN114006757B (zh) | 2024-04-05 |
Family
ID=79925557
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111276175.1A Active CN114006757B (zh) | 2021-10-29 | 2021-10-29 | Gis服务的访问控制方法、装置、架构、介质及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114006757B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115379011B (zh) * | 2022-04-25 | 2024-04-26 | 上海数慧***技术有限公司 | 一种应用于地理信息***服务的数据处理方法及装置 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101247391A (zh) * | 2007-12-28 | 2008-08-20 | 上海电力学院 | Opc安全代理***及其代理方法 |
CN103716326A (zh) * | 2013-12-31 | 2014-04-09 | 华为技术有限公司 | 一种资源访问方法及用户资源网关 |
CN106789909A (zh) * | 2016-11-22 | 2017-05-31 | 北京奇虎科技有限公司 | 应用程序的网络数据传输方法、装置及*** |
CN111030827A (zh) * | 2019-12-06 | 2020-04-17 | 深圳乐信软件技术有限公司 | 信息交互方法、装置、电子设备、及存储介质 |
CN111193704A (zh) * | 2019-10-28 | 2020-05-22 | 腾讯科技(深圳)有限公司 | Http通信方法及装置 |
CN111756744A (zh) * | 2020-06-24 | 2020-10-09 | 中国平安财产保险股份有限公司 | H5用户的识别方法、装置、设备及存储介质 |
CN112232751A (zh) * | 2020-09-03 | 2021-01-15 | 微民保险代理有限公司 | 业务数据处理方法、装置、***、计算机设备和存储介质 |
CN112597039A (zh) * | 2020-12-28 | 2021-04-02 | 南方电网深圳数字电网研究院有限公司 | 虚拟机访问方法、***、设备及计算机可读存储介质 |
CN112637124A (zh) * | 2020-11-23 | 2021-04-09 | 中信银行股份有限公司 | 报文的处理方法、装置、电子设备及计算机可读存储介质 |
CN112671705A (zh) * | 2020-11-23 | 2021-04-16 | 中信银行股份有限公司 | 报文的处理方法、装置、电子设备及计算机可读存储介质 |
CN113204772A (zh) * | 2021-04-26 | 2021-08-03 | 五八有限公司 | 数据处理方法、装置、***、终端、服务器和存储介质 |
-
2021
- 2021-10-29 CN CN202111276175.1A patent/CN114006757B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101247391A (zh) * | 2007-12-28 | 2008-08-20 | 上海电力学院 | Opc安全代理***及其代理方法 |
CN103716326A (zh) * | 2013-12-31 | 2014-04-09 | 华为技术有限公司 | 一种资源访问方法及用户资源网关 |
CN106789909A (zh) * | 2016-11-22 | 2017-05-31 | 北京奇虎科技有限公司 | 应用程序的网络数据传输方法、装置及*** |
CN111193704A (zh) * | 2019-10-28 | 2020-05-22 | 腾讯科技(深圳)有限公司 | Http通信方法及装置 |
CN111030827A (zh) * | 2019-12-06 | 2020-04-17 | 深圳乐信软件技术有限公司 | 信息交互方法、装置、电子设备、及存储介质 |
CN111756744A (zh) * | 2020-06-24 | 2020-10-09 | 中国平安财产保险股份有限公司 | H5用户的识别方法、装置、设备及存储介质 |
CN112232751A (zh) * | 2020-09-03 | 2021-01-15 | 微民保险代理有限公司 | 业务数据处理方法、装置、***、计算机设备和存储介质 |
CN112637124A (zh) * | 2020-11-23 | 2021-04-09 | 中信银行股份有限公司 | 报文的处理方法、装置、电子设备及计算机可读存储介质 |
CN112671705A (zh) * | 2020-11-23 | 2021-04-16 | 中信银行股份有限公司 | 报文的处理方法、装置、电子设备及计算机可读存储介质 |
CN112597039A (zh) * | 2020-12-28 | 2021-04-02 | 南方电网深圳数字电网研究院有限公司 | 虚拟机访问方法、***、设备及计算机可读存储介质 |
CN113204772A (zh) * | 2021-04-26 | 2021-08-03 | 五八有限公司 | 数据处理方法、装置、***、终端、服务器和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN114006757A (zh) | 2022-02-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110839087B (zh) | 接口调用方法及装置、电子设备和计算机可读存储介质 | |
CN110300133B (zh) | 跨域数据传输方法、装置、设备及存储介质 | |
US8914864B1 (en) | Temporary virtual identities in a social networking system | |
US11729472B2 (en) | Content access based on location token | |
CN107295033B (zh) | 一种路由方法及装置 | |
CN104106241A (zh) | 生成安全名称记录的***和方法 | |
US10387872B2 (en) | Browser-based payment for content | |
CN110324416B (zh) | 下载路径跟踪方法、装置、服务器、终端及介质 | |
CN104158818A (zh) | 一种单点登录方法及*** | |
US10033695B2 (en) | Reducing data connections for transmitting secured data | |
US11044588B2 (en) | System and method for collaborative caching | |
JP2022094938A (ja) | データアクセスを監視及び制御する為の方法、コンピュータ・プログラム、及びセキュリティシステムエージェント機器 | |
CN111241523B (zh) | 认证处理方法、装置、设备和存储介质 | |
CN114006757B (zh) | Gis服务的访问控制方法、装置、架构、介质及设备 | |
CN114785590A (zh) | 登录方法、装置、设备、存储介质 | |
CN111935092B (zh) | 一种基于第三方应用的信息交互方法、装置和电子设备 | |
CN107979577B (zh) | 一种终端认证的方法及设备 | |
CN106817296A (zh) | 信息推荐的测试方法、装置以及电子设备 | |
CN114885024B (zh) | 应用实例的路由方法、装置、设备及介质 | |
US20200151303A1 (en) | Digital rights management | |
US11647377B2 (en) | Mobile device roaming optimization and operation | |
CN111355583A (zh) | 一种业务提供***、方法、装置、电子设备及存储介质 | |
CN103051607B (zh) | 访问方法、设备及*** | |
CN109857488A (zh) | 应用程序的调用控制方法、装置、终端及可读存储介质 | |
CN111355761A (zh) | 定向流量资源获取***、方法、装置、电子设备及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |