一种基于单点登录的认证方法及装置与流程

文档序号:12132352阅读:466来源:国知局
一种基于单点登录的认证方法及装置与流程

本发明涉及通信技术领域,尤其涉及一种基于单点登录的认证方法及装置。



背景技术:

SSO(Single Sign On,单点登录)是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统,是目前比较流行的企业业务整合的解决方案之一。在WEB(网络)应用中,可以采用三方库来实现单点登录,目前在WEB应用中使用的三方库一般为CAS(Central Authentication Service,中心认证服务),在采用CAS进行单点登录时需要在WEB容器中配置过滤器,并且需要在过滤器中配置认证地址等参数,这些参数都是根据具体的WEB应用预先配置的参数。

目前,一般一个WEB容器中只有一个过滤器,该过滤器中的认证地址是根据公有IP地址配置的。但是,目前为了实现网络安全,终端一般通过私有IP地址访问网络,当终端发送访问请求时,路由器可以将访问请求中的私有IP地址进行NAT(Network Address Translation,网络地址转换),将私有IP地址转换为公有IP地址以实现终端接入网络。在实现单点登录时,首先终端向过滤器发送认证请求,认证请求中携带私有IP地址,由于过滤器中并未配置该私有IP地址的相关信息,所以无法处理携带私有IP地址的认证请求,导致终端无法访问WEB服务器。



技术实现要素:

本发明的实施例提供一种基于单点登录的认证方法及装置,可以解决终端无法访问WEB服务器的问题。

为达到上述目的,本发明的实施例采用如下技术方案:

一种基于单点登录的认证方法,包括:

接收终端发送的认证请求,认证请求中携带待访问IP地址;

根据待访问IP地址确定认证请求的认证请求类型;

判断是否存在所述认证请求类型对应的过滤器逻辑链管理器;

若存在,则调用所述认证请求类型对应的过滤器逻辑链管理器处理认证请求;

若不存在,则创建所述认证请求类型对应的过滤器逻辑链管理器以及所述认证请求类型对应的三方库过滤器组;

调用所述认证请求类型对应的过滤器逻辑链管理器处理认证请求。

一种基于单点登录的认证装置,包括:

接收单元,用于接收终端发送的认证请求,认证请求中携带待访问IP地址;

确定单元,用于根据所述接收单元接收的认证请求中的待访问IP地址确定认证请求的认证请求类型;

判断单元,用于判断是否存在所述确定单元确定的所述认证请求类型对应的过滤器逻辑链管理器;

处理单元,用于当所述判断单元的判断结果为存在时,调用所述认证请求类型对应的过滤器逻辑链管理器处理认证请求;

创建单元,用于当所述判断单元的判断结果为不存在时,创建所述认证请求类型对应的过滤器逻辑链管理器以及所述认证请求类型对应的三方库过滤器组;

所述处理单元,还用于调用所述创建单元创建的所述认证请求类型对应的过滤器逻辑链管理器处理认证请求。

本发明实施例提供的基于单点登录的认证方法及装置,首先接收终端发送的认证请求,然后根据认证请求中的待访问IP地址确定认证请求的认证请求类型,进而判断是否存在该认证请求类型对应的过滤器逻辑链管理器,如果存在,则直接调用认证请求类型对应的过滤器逻辑链管理器处理认证请求,如果不存在,则创建该认证请求类型对应的过滤器逻辑链管理器以及三方库过滤器组,进而调用创建的该过滤器逻辑链管理器处理认证请求,与现有技术中由于无法进行单点登录认证而导致无法访问WEB服务器的问题相比,本发明实施例中,如果不存在认证请求类型对应的过滤器逻辑链管理器时,就会创建该认证请求类型对应的过滤器逻辑链管理器以及三方库过滤器组,进而可以由创建的过滤器逻辑链管理器来处理认证请求,相当于即使认证请求中携带了私有IP地址,如果WEB容器中没有用于处理该私有IP地址的过滤器逻辑链管理器,也可以创建该私有IP地址对应的过滤器逻辑链管理器,不会出现无法处理认证请求的情况,所以本发明实施例可以处理携带私有IP地址的认证请求,不会出现由于无法处理认证请求而导致终端无法访问WEB服务器的情况。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的一种基于单点登录的认证方法的流程图;

图2为本发明实施例提供的另一种基于单点登录的认证方法的流程图;

图3为本发明实施例提供的一种基于单点登录的认证装置的逻辑结构示意图;

图4为本发明实施例提供的另一种基于单点登录的认证装置的逻辑结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

为了解决终端在NAT的场景下无法进行单点登录认证,进而导致终端无法访问WEB服务器的问题,本发明实施例提供一种基于单点登录的认证方法,如图1所示,该方法包括:

101、接收终端发送的认证请求,认证请求中携带待访问IP地址。

首先,需要说明的是本发明实施例的执行主体可以为WEB容器中集成的具有处理功能的过滤器代理容器,或者可以由WEB容器中的不同的功能模块执行不同的步骤。

需要说明的是,认证请求中携带的待访问地址是私有IP地址,当终端采用该私有IP地址访问网络时,路由器会将该私有IP地址转换为公有IP地址。

102、根据待访问IP地址确定认证请求的认证请求类型。

其中,一个公有IP地址对应多个私有IP地址,每个私有IP地址对应一种认证请求类型,例如,私有IP地址1、私有IP地址2、私有IP地址3都能转换为同一个公有IP地址,且私有IP地址1、私有IP地址2、私有IP地址3分别对应一种认证请求类型,每种类型的认证请求由各自类型对应的过滤器逻辑链路管理器处理。

103、判断是否存在认证请求类型对应的过滤器逻辑链管理器。

若存在,则执行步骤104,若不存在,则执行步骤105。

104、调用认证请求类型对应的过滤器逻辑链管理器处理认证请求。

105、创建认证请求类型对应的过滤器逻辑链管理器以及认证请求类型对应的三方库过滤器组。

需要说明的是,如果不存在认证请求类型对应的过滤器逻辑链管理器,则WEB容器中当前不存在可以处理该认证请求的过滤器,为了避免出现无法认证的情况,需要创建认证请求类型对应的过滤器逻辑链管理器以及该过滤器逻辑链管理器所管理的三方库过滤器组。

在本发明实施例的一种实现方式中,三方库过滤器组可以包括退出检查过滤器、票根检查过滤器、认证用户获取过滤器。

退出检测过滤器,用于实现单点登录退出功能,用于系统实现退出功能;

认证检查过滤器,用于在用户输入地址后,检查当前用户是否登录,如果没有登录需要跳转CAS认证服务器进行用户名密码输入认证;

票根检查过滤器,用于在系统通过上一个认证检查过滤器后,如果认证成功,CAS认证服务器会携带票根跳回跳该系统,该过滤器是检查当前票根是否存在,是否有效,无效会提示错误。

认证用户获取过滤器,用于在认证完成后,读取用户登录的用户信息,CAS通过该过滤器完成。

106、调用认证请求类型对应的过滤器逻辑链管理器处理认证请求。

可以理解的是,过滤器逻辑链管理器可以调用三方库过滤器组中的各个过滤器的功能来处理认证请求。

以下对调用认证请求类型对应的过滤器逻辑链管理器处理认证请求的方法进行说明,过滤器逻辑链管理器需调用三方过滤器组,根据认证系统地址跳转到认证系统,然后可提示用户在认证系统的显示界面中输入登录信息,例如用户名和密码,然后认证系统对接收到的登录信息进行验证,如果验证成功,则将认证信息存储到认证系统中,再生成认证信息对应的ticket并建立session的cookie,认证系统再跳转会WEB应用系统,跳转地址中携带ticket的参数,此时终端访问WEB服务器,过滤器逻辑链管理器读取认证信息从而完成认证。

本发明实施例提供的基于单点登录的认证方法,首先接收终端发送的认证请求,然后根据认证请求中的待访问IP地址确定认证请求的认证请求类型,进而判断是否存在该认证请求类型对应的过滤器逻辑链管理器,如果存在,则直接调用认证请求类型对应的过滤器逻辑链管理器处理认证请求,如果不存在,则创建该认证请求类型对应的过滤器逻辑链管理器以及三方库过滤器组,进而调用创建的该过滤器逻辑链管理器处理认证请求,与现有技术中由于无法进行单点登录认证而导致无法访问WEB服务器的问题相比,本发明实施例中,如果不存在认证请求类型对应的过滤器逻辑链管理器时,就会创建该认证请求类型对应的过滤器逻辑链管理器以及三方库过滤器组,进而可以由创建的过滤器逻辑链管理器来处理认证请求,相当于即使认证请求中携带了私有IP地址,如果WEB容器中没有用于处理该私有IP地址的过滤器逻辑链管理器,也可以创建该私有IP地址对应的过滤器逻辑链管理器,不会出现无法处理认证请求的情况,所以本发明实施例可以处理携带私有IP地址的认证请求,不会出现由于无法处理认证请求而导致终端无法访问WEB服务器的情况。

在本发明实施例提供的另一种实现方式中,对创建过滤器逻辑链管理器和三方库过滤器的方法进行了说明,如图2所示,上述步骤105、创建认证请求类型对应的过滤器逻辑链管理器以及所述认证请求类型对应的三方库过滤器组,具体可以实现为步骤1051至步骤1053。

1051、创建认证请求类型对应的过滤器逻辑链管理器。

需要说明的是,每个过滤器逻辑链管理器用于处理一种类型的认证请求,且每个过滤器逻辑链管理器管理一组三方库过滤器。

1052、根据待访问IP地址生成认证请求类型对应的三方库过滤器组的配置参数。

其中,配置参数包括:认证系统地址、WEB应用地址、认证信息存储地址。

其中,认证系统地址为用于对该认证请求进行认证的认证系统的地址。

WEB应用地址为待访问IP地址所对应的WEB应用系统的地址。

认证信息存储地址为用于存储认证信息的存储区域或者系统的地址。

1053、根据配置参数创建认证请求类型对应的三方库过滤器组。

可以理解的是,由于配置参数是根据待访问IP地址生成的,为与该认证请求类型所匹配的配置参数,所以根据该配置参数生成的三方过滤器组可以用于处理该类型的认证请求。

需要说明的是,为了后续接收到相同类型的认证请求时,可以直接调用该过滤器逻辑链管理器来处理认证请求,在创建该认证请求对应的过滤器逻辑链管理器之后,还需存储认证请求类型与过滤器逻辑链管理器之间的对应关系。

对于本发明实施例,当不存在与认证请求类型对应的过滤器逻辑链管理器时,就创建该认证请求类型对应的过滤器逻辑链管理器以及三方库过滤器,避免了认证请求无法被处理的情况出现,且每次创建过滤器逻辑链路管理器,都会存储新建的过滤器逻辑链管理器与认证请求类型的对应关系,在下次接收到相同类型的认证请求时,就可以直接调用,无需重新创建过滤器逻辑链管理器,提高了认证请求的处理效率。

对应于上述方法实施例,本发明实施例还提供一种基于单点登录的认证装置,如图3所示,该装置包括:接收单元301,确定单元302,判断单元303,处理单元304,创建单元305。

接收单元301,用于接收终端发送的认证请求,认证请求中携带待访问IP地址;

确定单元302,用于根据接收单元301接收的认证请求中的待访问IP地址确定认证请求的认证请求类型;

判断单元303,用于判断是否存在确定单元302确定的认证请求类型对应的过滤器逻辑链管理器;

处理单元304,用于当判断单元303的判断结果为存在时,调用认证请求类型对应的过滤器逻辑链管理器处理认证请求;

创建单元305,用于当判断单元303的判断结果为不存在时,创建认证请求类型对应的过滤器逻辑链管理器以及认证请求类型对应的三方库过滤器组;

处理单元304,还用于调用创建单元305创建的认证请求类型对应的过滤器逻辑链管理器处理认证请求。

在本发明实施例提供的另一种实现方式中,创建单元305,还用于创建认证请求类型对应的过滤器逻辑链管理器;根据待访问IP地址生成认证请求类型对应的三方库过滤器组的配置参数;根据配置参数创建认证请求类型对应的三方库过滤器组。

其中,配置参数至少包括:认证系统地址、WEB应用地址、认证信息存储地址。

在本发明实施例提供的另一种实现方式中,如图4所示,该装置还包括:存储单元306。

存储单元306,用于存储认证请求类型与过滤器逻辑链管理器之间的对应关系。

在本发明实施例提供的另一种实现方式中,处理单元304,还用于通过请求类型对应的过滤器逻辑链管理器,调用三方库过滤器组跳转到认证系统地址对应的认证系统;在认证系统中接收用户输入的登录信息;对用户输入的登录信息进行验证;若验证成功,则将认证信息存储到认证信息存储地址中;跳转到WEB应用地址对应的WEB应用系统,并向WEB应用系统发送认证信息;从认证信息存储地址中读取认证信息,通过读取到的认证信息验证从认证系统中接收到的认证信息的有效性;若验证成功,则向终端发送认证请求成功响应。

本发明实施例提供的基于单点登录的认证装置,首先接收单元接收终端发送的认证请求,然后确定单元根据认证请求中的待访问IP地址确定认证请求的认证请求类型,进而判断单元判断是否存在该认证请求类型对应的过滤器逻辑链管理器,如果存在,处理单元则直接调用认证请求类型对应的过滤器逻辑链管理器处理认证请求,如果不存在,则创建单元创建该认证请求类型对应的过滤器逻辑链管理器以及三方库过滤器组,进而处理单元调用创建的该过滤器逻辑链管理器处理认证请求,与现有技术中由于无法进行单点登录认证而导致无法访问WEB服务器的问题相比,本发明实施例中,如果不存在认证请求类型对应的过滤器逻辑链管理器时,就会创建该认证请求类型对应的过滤器逻辑链管理器以及三方库过滤器组,进而可以由创建的过滤器逻辑链管理器来处理认证请求,相当于即使认证请求中携带了私有IP地址,如果WEB容器中没有用于处理该私有IP地址的过滤器逻辑链管理器,也可以创建该私有IP地址对应的过滤器逻辑链管理器,不会出现无法处理认证请求的情况,所以本发明实施例可以处理携带私有IP地址的认证请求,不会出现由于无法处理认证请求而导致终端无法访问WEB服务器的情况。

通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘,硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1