一种云统一认证方法及系统的制作方法
【技术领域】
[0001]本发明涉及信息安全技术领域,尤其涉及一种云统一认证方法及系统。
【背景技术】
[0002]随着互联网的应用越来越普及,信息安全也越来越重要。目前身份管理领域中,访问安全控制是非常核心的一个领域,单点登录应用是访问安全控制中最常见的一种登录方式。单点登陆应用系统有以下问题,企业资源充分依赖于Agent作为拦截器,Agent是客户端的访问性能瓶颈;该系统面向终端用户的,不能针对应用服务器使用;该系统中的IDP,即身份认证点往往都是在一个物理位置,导致该处的访问很集中,从而导致用户体验因为地理位置和网络网络位置不同而有很大差异;该系统是集中式部署,即使做灾备也无法做到双活。
【发明内容】
[0003]鉴于目前信息安全技术领域存在的上述不足,本发明提供一种云统一认证方法及系统,能够在就近认证中心进行云认证,实现了多节点云统一认证。
[0004]为达到上述目的,本发明的实施例采用如下技术方案:
[0005]一种云统一认证方法,所述云统一认证方法包括以下步骤:
[0006]建立认证中心节点;
[0007]判断用户的应用访问请求是否具有Token ;
[0008]若没有Token则向最近节点的认证中心请求Token ;
[0009]认证中心通过该Token请求并对返回的Token进行节点标记;
[0010]若有Token则向最近节点的认证中心发起Token验证请求;
[0011]由发出该Token的源节点认证中心进行Token校验;
[0012]根据校验结果决定是否让用户访问应用。
[0013]依照本发明的一个方面,所述建立认证中心节点包括以下步骤:建立多个由认证路由模块和访问控制模块组成的认证中心节点。
[0014]依照本发明的一个方面,所述步骤若没有Token则向最近节点的认证中心请求Token具体可为:由发出应用访问请求的客户端去最近认证中心的认证路由模块请求Token,再由认证路由模块通过访问访问控制模块内层Jar包,代替请求方请求Token。
[0015]依照本发明的一个方面,所述由发出应用访问请求的客户端去认证路由模块请求Token执行时,需要传递用户的用户名和密码。
[0016]依照本发明的一个方面,所述步骤认证中心通过该Token请求并对返回的Token进行节点标记具体可为:由访问控制模块认证该Token请求,通过认证后将Token发给认证路由模块并由认证路由模块在添加节点标记后返回。
[0017]依照本发明的一个方面,所述步骤若有Token则向最近节点的认证中心发起Token验证请求具体为:由被访问应用向其最近节点的认证路由模块发起Token验证请求。
[0018]依照本发明的一个方面,所述步骤由发出该Token的源节点的认证中心进行Token校验包括以下步骤:由认证路由模块根据该Token的节点标记进行源节点判断,然后去除该Token的节点标记,之后由认证路由模块去发出发出该Token的源节点的认证中心的访问控制模块进行Token校验。
[0019]依照本发明的一个方面,所述云统一认证方法还包括以下步骤:采用LDAP服务器存储所有认证票据信息。
[0020]依照本发明的一个方面,所述步骤根据校验结果决定是否让用户访问应用包括以下步骤:由认证中心将校验结果返回的用户要访问的应用,由应用根据校验结果判断该Token是否有效,若该Token有效,则允许用户访问且认证中心将该Token的有效期一并发给被访问应用。
[0021]—种云统一认证系统,所述云统一认证系统包括:
[0022]客户端,用于判断用户的应用访问请求是否具有Token、发出Token请求、发出Token验证和发出应用访问请求;
[0023]认证中心节点,包括认证路由模块和访问控制模块,用于发放Token及对Token进行校验;
[0024]应用端,用于被用户访问。
[0025]本发明实施的优点:本发明所述的云统一认证方法通过建立由认证路由模块和访问控制模块组成的认证中心节点、客户端判断用户的应用访问请求是否具有Token、若没有Token则由客户端向最近节点的认证中心请求Token、认证中心通过该Token请求并对返回给客户端的Token进行节点标记、若有Token则由被访问应用向最近节点的认证中心发起Token验证请求、由认证路由模块去发出该Token的源节点的访问控制模块进行Token校验、认证中心将校验结果返回被访问应用并由被访问应用根据校验结果决定是否让客户端访问的方案,实现了云统一认证,各处的客户端申请Token时,只需要就近申请Token,而无需关心认证中心所在位置;被访问应用验证Token时,只需要和就近认证中心校验Token即可,而无需知道Token实际是哪里颁发;所有认证中心节点均是活动状态,即任何一个认证中心因为各种原因宕机也不会影响任何用户使用。
【附图说明】
[0026]为了更清楚地说明本发明实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0027]图1为本发明所述的一种云统一认证方法实施例一的方法不意图;
[0028]图2为本发明所述的一种云统一认证系统的结构不意图;
[0029]图3为本发明所述的一种云统一认证方法实施例二的方法示意图。
【具体实施方式】
[0030]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0031]一种云统一认证方法实施例一
[0032]如图1所示,一种云统一认证方法,所述云统一认证方法包括以下步骤:
[0033]步骤S1:建立认证中心节点;
[0034]所述步骤S1建立认证中心节点,在具体实施时,是建立若干个由认证路由模块和访问控制模块组成的认证中心节点,所述认证中心节点通过互联网与客户端和应用端相连。因为分建了若干个认证中心节点,所有认证中心节点都处于活动状态,任何一个认证中心节点出现问题时,也不会出现全体瘫痪的情况,从而不会影响任何用户使用。
[0035]步骤S2:判断用户的应用访问请求是否具有Token ;
[0036]所述步骤S2判断用户的应用访问请求是否具有Token的【具体实施方式】可为:当用户通过客户端发起访问应用的请求时,客户端根据用户的用户名和密码进行判断,判断用户是否具有Token。若没有Token,则执行步骤S3,若有Token,则执行步骤S5。
[0037]步骤S3:若没有Token则向最近节点的认证中心请求Token ;
[0038]所述步骤S3若没有Token则向最近节点的认证中心请求Token的【具体实施方式】可为:由客户端去最近认证中心的认证路由模块请求Token,再由认证路由模块通过访问访问控制模块内层Jar包,代替请求方客户端来请求Token,其中,客户端需要传递用户的用户名和密码给认证路由模块来进行Token申请。
[0039]步骤S4:认证中心通过该Token请求并对返回的Token进行节点标记;
[0040]在步骤S3执行完后,执行步骤S4认证中心通过该Token请求并对返回的Token进行节点标记,其【具体实施方式】可为:由访问控制模块认证该Token请求,在通过认证后,将Token发给认证路由模块并由认证路由模块添加节点标记,然后返回给客户端。
[0041]步骤S5:若有Token则向最近节点的认证中心发起Token验证请求;
[0042]所述步骤S5若有Token则向最近节点的认证中心发起Token验证请求的【具体实施方式】可为:被访问应用向其最近节点的认证路由模块发起Token验证请求,然后执行步骤S6。
[0043]步骤S6:由发出该Token的源节点的认证中心进行Token校验;
[0044]所述步骤S6由发出该Token的源节点的认证中心进行Token校验的【具体实施方式】可为:由认证路由模块根据该Token的节点标记判断该Token的发放源节点,然后去该Token的源节点的认证中心的访问控制模块进行该Token校验,由该认证中心进行Token校验。
[0045]其中,在由认证路由模块根据该Token的节点标记判断该Token的发放源节点执行完后,需执行以下步骤:由认证路由模块去除该Token的节点标记。
[0046]步骤S7:根据校验结果决定是否让用户访问应用;
[0047]所述步骤S7根据校验结果决定是否让用户访问应用的【具体实施方式】可为:在访问控制模块进行完Token校验后,将校验结果返回认证路由模块,然后由认证路由模块将校验结果返回到发起Token校验的被访问应用,然后由被访问应用根据校验结果决定是否让客户端的用户进行访问。
[0048]其中,若是校验结果为Token有效,也就是允许用户进行访问,则由认证中心的访问控制模块将该Token的有效期一并发给被访问应用。
[0049]在实际应用中,所有认证票据信息的存储是通过LDAP服务器来进行的,也