一种集中权限数据的分布式权限验证方法及系统的制作方法

文档序号:9491807阅读:614来源:国知局
一种集中权限数据的分布式权限验证方法及系统的制作方法
【技术领域】
[0001]本发明涉及权限认证技术领域,尤其涉及的是一种集中权限数据的分布式权限验证方法及系统。
【背景技术】
[0002]目前己知权限验证系统都是统一由一个集中权限管理系统来处理多个系统的权限授权与验证,但这样会产生以下两个缺陷:
1)所有接口的访问都会先分发到集中权限管理系统中,在每个独立系统下都有大量并发的情况下,这种设计给集中权限管理系统带来了过大的负载压力。
[0003]2)增加了内网开销。虽然单个验证请求的内网开销并不大,但当在验证请求大量并发情况下时,会造成请求的延时。
[0004]因此,现有技术还有待于改进和发展。

【发明内容】

[0005]鉴于上述现有技术的不足,本发明的目的在于提供一种集中权限数据的分布式权限验证方法及系统,旨在解决现有技术中权限验证系统都是统一由一个集中权限管理系统来处理多个系统的权限授权与验证负载压力过大,且增大了内网开销与延时的缺陷。
[0006]本发明的技术方案如下:
一种集中权限数据的分布式权限验证方法,其中,所述方法包括以下步骤:
A、Web服务器收到请求端的访问请求时,获取所述访问请求携带的由中央授权服务器授予所述请求端的加密令牌;
B、Web服务器对所述加密令牌进行解密以获取令牌;
C、Web服务器对所述令牌进行验证以确定所述请求端是否有具有访问权限。
[0007]所述集中权限数据的分布式权限验证方法,其中,所述步骤A之前还包括:
S、所述请求端向保存有授权数据的中央授权服务器获取加密令牌。
[0008]所述集中权限数据的分布式权限验证方法,其中,所述步骤S包括:
51、所述请求端首次请求授权或所述请求端的加密令牌失效时向所述中央授权服务器发送验证请求;
52、所述中央授权服务器收到所述验证请求时,对所述验证请求的验证信息进行权限验证,当通过验证时生成令牌,并对令牌进行加密以形成加密令牌;
53、所述中央授权服务器将所述加密令牌返回给所述请求端。
[0009]所述集中权限数据的分布式权限验证方法,其中,所述验证信息中至少包括授权类型、用户名、用户密码及授权请求范围信息。
[0010]所述集中权限数据的分布式权限验证方法,其中,所述步骤S2具体包括:
S21、中央授权服务器获取请求端发送的验证信息中的用户名及用户密码,对所述用户名及用户密码进行验证; S22、当通过验证时生成令牌并进行加密,得到加密令牌。
[0011 ] 所述集中权限数据的分布式权限验证方法,其中,所述步骤C之后还包括:
D、当所述请求端具有访问权限时,则请求端根据令牌访问Web服务器;
E、当所述请求端不具有访问权限时,则Web服务器向请求端发送授权错误通知信息。
[0012]—种集中权限数据的分布式权限验证系统,其中,包括:
令牌接收模块,用于Web服务器收到请求端的访问请求时,获取所述访问请求携带的由中央授权服务器授予所述请求端的加密令牌;
解密模块,用于Web服务器对所述加密令牌进行解密以获取令牌;
令牌验证模块,用于Web服务器对所述令牌进行验证以确定所述请求端是否有具有访问权限。
[0013]所述集中权限数据的分布式权限验证系统,其中,还包括:
令牌获取模块,用于所述请求端向保存有授权数据的中央授权服务器获取加密令牌。
[0014]所述集中权限数据的分布式权限验证系统,其中,所述令牌获取模块具体包括: 请求发送单元,用于所述请求端首次请求授权或所述请求端的加密令牌失效时向所述中央授权服务器发送验证请求;
权限验证单元,用于所述中央授权服务器收到所述验证请求时,对所述验证请求的验证信息进行权限验证,当通过验证时生成令牌,并对令牌进行加密以形成加密令牌;
令牌反馈单元,用于所述中央授权服务器将所述加密令牌返回给所述请求端。
[0015]所述集中权限数据的分布式权限验证系统,其中,所述验证信息中至少包括授权类型、用户名、用户密码及授权请求范围信息。
[0016]本发明提供了一种集中权限数据的分布式权限验证方法及系统,方法包括:Web服务器收到请求端的访问请求时,获取所述访问请求携带的由中央授权服务器授予所述请求端的加密令牌;Web服务器对所述加密令牌进行解密以获取令牌;Web服务器对所述令牌进行验证以确定所述请求端是否有具有访问权限。本发明通过把验证阶段移入每个独立的应用系统中,只把第一次的授权与验证交由保存授权数据的中央授权服务器处理,请求端后面所有请求均附带加密访问令牌进行访问即可。不仅减少了内网请求开销与延时,而且减少了对中央授权服务器的并发压力,提高了系统的稳定性。
【附图说明】
[0017]图1为本发明所述集中权限数据的分布式权限验证方法较佳实施例的流程图。
[0018]图2为本发明图1所示方法中步骤S10的具体流程图。
[0019]图3为本发明所述集中权限数据的分布式权限验证系统较佳实施例的结构框图。
【具体实施方式】
[0020]本发明提供一种集中权限数据的分布式权限验证方法及系统,为使本发明的目的、技术方案及效果更加清楚、明确,以下对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0021]请参见图1,图1是本发明所述集中权限数据的分布式权限验证方法较佳实施例的流程图。如图1所示,其包括以下步骤: 步骤S100、Web服务器收到请求端的访问请求时,获取所述访问请求携带的由中央授权服务器授予所述请求端的加密令牌;
步骤S200、Web服务器对所述加密令牌进行解密以获取令牌;
步骤S300、Web服务器对所述令牌进行验证以确定所述请求端是否有具有访问权限。
[0022]具体实施时,可通过Web服务器端获令牌中的API名,与请求端向中央授权服务器发送的验证请求中API名相比较,判断两者是否一致,当一致时则令牌是具有访问权限的,请求端有权访问Web服务器。其中,API (Applicat1n Program Interface)为应用程序接口。
[0023]进一步的,如图1所示,步骤S100之前还包括:
步骤S10、所述请求端向保存有授权数据的中央授权服务器获取加密令牌。
[0024]进一步的,如图2所示,所述步骤S10具体包括:
步骤S11、所述请求端首次请求授权或所述请求端的加密令牌失效时向所述中央授权服务器发送验证请求。
[0025]步骤S12、所述中央授权服务器收到所述验证请求时,对所述验证请求的验证信息进行权限验证,当通过验证时生成令牌,并对令牌进行加密以形成加密令牌。
[0026]本发明的实施例中,所述验证信息中至少包括授权类型、用户名、用户密码及授权请求范围信息。
[0027]具体的,在所述请求端首次请求授权或所述请求端的加密令牌失效时向所述中央授权服务器发送验证请求中,所述验证请求为HTTP请求,所述HTTP请求中包括以下参数:
grant_type,表示授权类型,其为固定值“password”,是必选项; username,表示用户名,是必选项; password,表示用户密码,是必选项;
scope,表示授权请求范围信息,如scope=get_user_info,do_like等,是必选项。
[0028]具体实施时,HTTP请求的完整实例如下:
POST /token HTTP/1.1
Host: server, example, com
Content-Type: applicat1n/x-www-form-urlencoded
grant_type=password&username=johndoe&password=A3ddj3w&scope=get_user_info。上述完整实例仅用于举例说明,HTTP请求并不局限于所举的完整实例。
[0029]本发明的实施例中,当用户启动请求端中已安装应用程序,并初次发出验证请求时,也如现有技术一样,将用户名和用户密码发送至中央授权服务器进行验证,但是初次验证通过后,请求端需访问Web服务器时则将加密令牌发送至Web服务器端进行验证,不再通过中央授权服务器进行验证。可见,通过上述方式既减少了内网请求开销与延时,而且减少了对中央授权服务器的并发压力,提高了系统的稳定性。
[0030]
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1