一种基于对象存储的鉴权网关系统及鉴权方法技术方案

技术编号:39161071 阅读:16 留言:0更新日期:2023-10-23 15:02
本发明专利技术公开了一种基于对象存储的鉴权网关系统及鉴权方法。该鉴权网关系统包括:http服务器,采用计算机语言编程实现,并基于fasthttp库与浏览器端口通讯连接,以用于监听端口提供http服务;鉴权拦截器,与http服务器通讯连接,以接收http服务器发送的请求信息,并基于预设鉴权规则判断请求信息的合法性;代理转发器,与鉴权拦截器通讯连接,以接收鉴权拦截器的对请求信息的合法性判断结果,并将合法请求代理至对象存储服务。本发明专利技术提供的鉴权网关系统,通过对请求的鉴权和代理,解决了直接使用对象存储服务时,无法结合现有系统鉴定请求是否合法的问题。并且,基于代理转发实现,性能高、资源占用少。资源占用少。资源占用少。

【技术实现步骤摘要】
一种基于对象存储的鉴权网关系统及鉴权方法


[0001]本专利技术涉及一种基于对象存储的鉴权网关系统,同时也涉及相应的鉴权方法,属于云存储


技术介绍

[0002]对象存储(Object

Based Storage)是当前公共云存储的首选技术方案,其灵活性和扁平性意味着它可以通过扩展来存储极大量的数据。对象具有足够的信息供应用快速查找数据,并且擅长存储非结构化数据。相比传统的文件存储而言,具有更好的扩展性和安全性。因此广泛运用于互联网系统的非结构化数据存储,访问时可以直接前端用URL(Uniform Resource Locator,统一资源定位符)的形式发起文件请求。
[0003]对象存储系统将数据作为对象进行管理,每个对象通常包括数据本身、数量不等的元数据和一个全局唯一的标识符。外部系统对所存储对象的访问通常通过标识符或全局文件路径进行。对象存储的使用,多是购买成熟可用的第三方云服务,或者自己根据需求使用开源软件进行部署,然后对外通过URL的形式开放对象的访问,使其存储的文件数据能通过服务的形式暴露出去。这样就会导致开放的URL无法做鉴权,或者其鉴权方式无法与现有的系统有效结合。若有需求要针对部分文件,仅允许特殊场景或人群访问,直接使用第三方对象存储服务无法实现。

技术实现思路

[0004]本专利技术所要解决的首要技术问题在于提供一种基于对象存储的鉴权网关系统。
[0005]本专利技术所要解决的另一技术问题在于提供一种基于对象存储的鉴权方法。
[0006]为实现上述技术目的,本专利技术采用以下的技术方案:
[0007]根据本专利技术实施例的第一方面,提供一种基于对象存储的鉴权网关系统,包括如下步骤:
[0008]http服务器,采用计算机语言编程,并基于fasthttp库与浏览器端口通讯连接,以用于监听端口提供http服务;
[0009]鉴权拦截器,与所述http服务器通讯连接,以接收所述http服务器发送的请求信息,并基于预设鉴权规则判断所述请求信息的合法性;
[0010]代理转发器,与所述鉴权拦截器通讯连接,以接收所述鉴权拦截器的对所述请求信息的合法性判断结果,并将合法请求代理至对象存储服务。
[0011]其中较优地,所述请求信息至少包括约定的文本文件或请求标头;其中,所述文本文件由网络服务器创建并由网页浏览器存放在用户计算机内。
[0012]其中较优地,所述预设鉴权规则,包括:
[0013]获取文本文件,若为空则获取请求标头的值,作为令牌;
[0014]若所述令牌为空,则判断所述请求信息不合法并报错返回;
[0015]若所述令牌不为空,则查看预设缓存中是否存在所述令牌,若存在则所述请求信
息合法;若不存在,则调用用户中心服务验证所述令牌是否有效,若有效则判断所述请求信息合法并将所述令牌存入预设缓存,若无效则判断所述请求信息不合法并报错返回。
[0016]其中较优地,在无效的令牌报错返回前,对所述无效的令牌进行标记,以避免重复调用用户中心服务。
[0017]其中较优地,所述鉴权网关系统还包括令牌注册接口,所述令牌注册接口与所述鉴权拦截器通讯连接,以用于使未接入用户中心的系统将未注册令牌注册到鉴权网关系统。
[0018]其中较优地,所述代理转发器将请求网址根据预设映射规则转换为对象存储服务的网址,以将所述请求信息代理至对象存储服务。
[0019]根据本专利技术实施例的第二方面,提供一种利用上述鉴权网关系统的鉴权方法,包括以下步骤:
[0020]通过http服务器监听浏览器端口,以获取用户在浏览器上发送的请求信息;
[0021]通过鉴权拦截器获取所述请求信息,并基于预设鉴权规则判断所述请求信息是否合法;
[0022]若所述请求信息不合法,则报错返回;若所述请求信息合法,则通过代理转发器将合法请求代理至对象存储服务。
[0023]其中较优地,所述请求信息至少包括约定的文本文件或请求标头。
[0024]其中较优地,所述基于预设鉴权规则判断所述请求信息是否合法,具体包括:
[0025]获取文本文件,若为空则获取请求标头的值,作为令牌;
[0026]若所述令牌为空,则判断所述请求信息不合法并报错返回;
[0027]若所述令牌不为空,则查看预设缓存中是否存在所述令牌,若存在则所述请求信息合法;若不存在,则调用用户中心服务验证所述令牌是否有效,若有效则判断所述请求信息合法并将所述令牌存入预设缓存,若无效则判断所述请求信息不合法并报错返回。
[0028]其中较优地,所述代理转发器将请求网址根据预设映射规则转换为对象存储服务的网址,以将所述请求信息代理至对象存储服务。
[0029]与现有技术相比较,本专利技术具有以下的技术效果:
[0030](1)本专利技术实施例提供的鉴权网关系统,通过对请求的鉴权和代理,解决了直接使用对象存储服务时,无法结合现有系统鉴定请求是否合法的问题。并且,该鉴权网关系统基于代理转发实现,性能高、资源占用少。
[0031](2)通过计算机语言编写,具有开发简单、资源占用低、集群部署扩展性高等特点。
[0032](3)开发层面在网关自定义鉴权方案,可以根据系统实际需求灵活实现。部署层面应用打包体积小,尤其适合集群部署等云计算场景,可最大化合理利用软硬件资源。
附图说明
[0033]图1为本专利技术第一实施例提供的一种基于对象存储的鉴权网关系统的结构示意图;
[0034]图2为本专利技术第一实施例提供的一种基于对象存储的鉴权网关系统的工作原理图;
[0035]图3为本专利技术第一实施例中,代理转发器的逻辑代码示意图;
[0036]图4为本专利技术第二实施例提供的一种基于对象存储的鉴权网关系统的结构示意图;
[0037]图5为本专利技术第三实施例提供的一种鉴权方法的流程图。
具体实施方式
[0038]下面结合附图和具体实施例对本专利技术的
技术实现思路
进行详细具体的说明。
[0039]<第一实施例>
[0040]如图1所示,本专利技术第一实施例提供一种基于对象存储的鉴权网关系统,至少包括http服务器10、鉴权拦截器20和代理转发器30。参照图2所示,该鉴权网关系统采用计算机语言(例如GO语言或C++语言)编程,利用http服务器10负责监听端口提供http服务,通过鉴权拦截器20负责对请求信息进行合法性校验,并根据需求自定义鉴权规则判断用户对该次请求的对象访问是否有效;代理转发器30负责将合法的请求代理至下游对象存储服务。
[0041]具体的,在本实施例中,http服务器10采用计算机语言编程,并基于fasthttp库与浏览器端口通讯连接,性能是标准库net/http的10倍以上。作为网关场景使用,能降低性能瓶颈和资源消耗,最大化CPU和内存的利用率。该http服务器10用于监听端口提供http服务,以获取用户通过本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于对象存储的鉴权网关系统,其特征在于包括:http服务器,采用计算机语言编程实现,并基于fasthttp库与浏览器端口通讯连接,以用于监听端口提供http服务;其中,所述fasthttp库表示一个开源高性能的网页服务框架;鉴权拦截器,与所述http服务器通讯连接,以接收所述http服务器发送的请求信息,并基于预设鉴权规则判断所述请求信息的合法性;代理转发器,与所述鉴权拦截器通讯连接,以接收所述鉴权拦截器的对所述请求信息的合法性判断结果,并将合法请求代理至对象存储服务。2.如权利要求1所述的鉴权网关系统,其特征在于:所述请求信息至少包括约定的文本文件或请求标头;其中,所述文本文件由网络服务器创建并由网页浏览器存放在用户计算机内。3.如权利要求2所述的鉴权网关系统,其特征在于所述预设鉴权规则包括:获取所述文本文件,若为空则获取所述请求标头的值,作为令牌;若所述令牌为空,则判断所述请求信息不合法并报错返回;若所述令牌不为空,则查看预设缓存中是否存在所述令牌,若存在则所述请求信息合法;若不存在,则调用用户中心服务验证所述令牌是否有效,若有效则判断所述请求信息合法并将所述令牌存入预设缓存,若无效则判断所述请求信息不合法并报错返回。4.如权利要求3所述的鉴权网关系统,其特征在于:在无效的令牌报错返回前,对所述无效的令牌进行标记,以避免重复调用用户中心服务。5.如权利要求3所述的鉴权网关系统,其特征在于还包括令牌注册接口,所述令牌注册接口与所...

【专利技术属性】
技术研发人员:黄俊叶泳聪许慧良黄生斌
申请(专利权)人:浙江脑动极光医疗科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1