一种SDN控制器集群单点登录的方法及装置与流程

文档序号:13641685阅读:266来源:国知局

本发明涉及通信技术领域,更具体的涉及一种sdn控制器集群单点登录的方法及装置。



背景技术:

用户端对sdn控制器集群里的控制器进行访问时,一般情况下,都会对用户端的身份进行验证。sdn控制器集群里的每个控制器都有自己的身份认证系统,当需要对sdn控制集群里的多个控制器进行访问时,一般需要各自所需要访问的控制器里进行身份认证,比如进行账号验证或者密码验证。网络端希望只对用户端进行一次身份认证,该用户端就可以对sdn控制器集群里所有的控制器进行访问。

目前,在大型的web应用中较多应用cas(英文为:centralauthenticationservice,中文为:中心认证服务)框架,均采用sso(英文wie:singlesignon,中文为:单点登录),用户只需要登录一次就可以访问所有相互信任的应用系统。但目前用户端登录sdn控制器集群中却没有应用到cas或者类似的框架,甚至都没有考虑要实现单点登录的方法。

综上所述,现有的用户端对sdn控制器集群里的多个控制器进行访问时,均需对多个控制器进行登录,存在登录过程比较繁琐的问题。



技术实现要素:

本发明实施例提供一种sdn控制器集群单点登录的方法及装置,用以解决现有的用户端对sdn控制器集群里的多个控制器进行访问时,均需对多个控制器进行登录,存在登录过程比较繁琐的问题。

本发明实施例提供一种sdn控制器集群单点登录的方法,包括:

收到用户端发送的第一访问请求信息,当确认所述第一访问请求信息内没有携带与所述用户端对应的验证信息时,向所述用户端发送第一反馈消息,以使所述用户端向身份认证授权服务器发送认证请求;

收到所述用户端发送的第二访问请求信息,所述第二访问请求信息内携带有与所述用户端对应的验证信息,所述验证信息为所述身份认证授权服务器向所述用户端发送的第二反馈信息内携带的信息;向所述身份认证授权服务器发送所述验证信息,以使所述身份认证授权服务器对所述验证信息进行验证,当验证成功后,收到所述身份认证授权服务器发送的与用户端对应的身份信息和授权信息。

优选地,所述向所述用户端发送第一反馈消息,以使所述用户端向身份认证授权服务器发送认证请求,具体包括:

所述身份认证授权服务器对所述用户端发送的认证请求内携带的账号密码进行验证,当验证成功后,向所述用户端发送所述第二反馈信息。

优选地,所述验证信息是所述身份认证授权服务器根据所述用户端的用户名,密码,当前系统时间和随机数组合的且通过md5算法生成的一个与所述用户端对应的唯一的字符串。

优选地,还包括:

与所述用户端对应的验证信息和所述用户端的用户名,身份信息和授权信息保存在所述身份认证授权服务器内,当保存所述验证信息和所述用户名,所述身份信息和所述授权信息的时间长度超过设定时间阈值时,所述身份认证授权服务器将所述验证信息和所述用户名,所述身份信息和所述授权信息删除。

本发明实施例还提供一种sdn控制器集群单点登录的装置,包括:

发送单元,用于收到用户端发送的第一访问请求信息,当确认所述第一访问请求信息内没有携带与所述用户端对应的验证信息时,向所述用户端发送第一反馈消息,以使所述用户端向身份认证授权服务器发送认证请求;

收到单元,用于收到所述用户端发送的第二访问请求信息,所述第二访问请求信息内携带有与所述用户端对应的验证信息,所述验证信息为所述身份认证授权服务器向所述用户端发送的第二反馈信息内携带的信息;向所述身份认证授权服务器发送所述验证信息,以使所述身份认证授权服务器对所述验证信息进行验证,当验证成功后,收到所述身份认证授权服务器发送的与用户端对应的身份信息和授权信息。

优选地,所述发送单元还用于:

所述身份认证授权服务器对所述用户端发送的认证请求内携带的账号密码进行验证,当验证成功后,向所述用户端发送所述第二反馈信息。

优选地,所述验证信息是所述身份认证授权服务器根据所述用户端的用户名,密码,当前系统时间和随机数组合的且通过md5算法生成的一个与所述用户端对应的唯一的字符串。

优选地,所述收到单元还用于:

与所述用户端对应的验证信息和所述用户端的用户名,身份信息和授权信息保存在所述身份认证授权服务器内,当保存所述验证信息和所述用户名,所述身份信息和所述授权信息的时间长度超过设定时间阈值时,所述身份认证授权服务器将所述验证信息和所述用户名,所述身份信息和所述授权信息删除。

本发明实施例提供了一种sdn控制器集群单点登录的方法及装置,该方法包括:收到用户端发送的第一访问请求信息,当确认所述第一访问请求信息内没有携带与所述用户端对应的验证信息时,向所述用户端发送第一反馈消息,以使所述用户端向身份认证授权服务器发送认证请求;收到所述用户端发送的第二访问请求信息,所述第二访问请求信息内携带有与所述用户端对应的验证信息,所述验证信息为所述身份认证授权服务器向所述用户端发送的第二反馈信息内携带的信息;向所述身份认证授权服务器发送所述验证信息,以使所述身份认证授权服务器对所述验证信息进行验证,当验证成功后,收到所述身份认证授权服务器发送的与用户端对应的身份信息和授权信息。上述方法中,通过设立的身份认证授权服务器,可以对用户端的身份信息和授权信息进行验证,若用户端向sdn控制器发送的第一访问请求信息内没有携带验证信息,则用户端收到sdn控制器的第一反馈消息后,向身份认证授权服务器发送认证请求后,再次向sdn控制器发送第二访问请求,第二访问请求内携带有与用户端对应的验证信息,sdn控制器将收到的验证信息发送至身份认证授权服务器,当身份认证授权服务器收到验证信息后,会向sdn控制器发送与用户端对应的身份信息和授权信息,用户端即可以登录sdn控制器。由于身份认证授权服务器已经对用户端进行了身份验证,若用户端再次登录其他sdn控制器时,则不需要进行身份验证,可以直接登录其他sdn控制器。上述方法解决现有的用户端对sdn控制器集群里的多个控制器进行访问时,均需对多个控制器进行登录,存在登录过程比较繁琐的问题。

附图说明

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

图1为本发明实施例提供的一种sdn控制器集群单点登录的方法流程示意图;

图2为本发明实施例一提供的单点登录sdn控制器集群的方法示意图;

图3为本发明实施例提供的一种sdn控制器集群单点登录的装置结构示意图。

具体实施方式

本发明实施例提供了一种sdn控制器集群单点登录的方法及装置,该方法包括:收到用户端发送的第一访问请求信息,当确认所述第一访问请求信息内没有携带与所述用户端对应的验证信息时,向所述用户端发送第一反馈消息,以使所述用户端向身份认证授权服务器发送认证请求;收到所述用户端发送的第二访问请求信息,所述第二访问请求信息内携带有与所述用户端对应的验证信息,所述验证信息为所述身份认证授权服务器向所述用户端发送的第二反馈信息内携带的信息;向所述身份认证授权服务器发送所述验证信息,以使所述身份认证授权服务器对所述验证信息进行验证,当验证成功后,收到所述身份认证授权服务器发送的与用户端对应的身份信息和授权信息。从而解决现有的用户端对sdn控制器集群里的多个控制器进行访问时,均需对多个控制器进行登录,存在登录过程比较繁琐的问题。

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

图1为本发明实施例提供的一种sdn控制器集群单点登录的方法流程示意图,如图1所示,该方法主要包括以下步骤:

步骤101,收到用户端发送的第一访问请求信息,当确认所述第一访问请求信息内没有携带与所述用户端对应的验证信息时,向所述用户端发送第一反馈消息,以使所述用户端向身份认证授权服务器发送认证请求;

步骤102,收到所述用户端发送的第二访问请求信息,所述第二访问请求信息内携带有与所述用户端对应的验证信息,所述验证信息为所述身份认证授权服务器向所述用户端发送的第二反馈信息内携带的信息;向所述身份认证授权服务器发送所述验证信息,以使所述身份认证授权服务器对所述验证信息进行验证,当验证成功后,收到所述身份认证授权服务器发送的与用户端对应的身份信息和授权信息。

需要说明的是,上述步骤101和步骤102的执行主体是第一sdn控制器,在本发明实施例中,第一sdn控制器为sdn控制器集群中的任意一个sdn控制器,相应地,在sdn控制器集群中,还可以包括有第二sdn控制器,第三sdn控制器等多个sdn控制器。

为了清楚介绍本发明实施例提供的sdn控制器集群单点登录的方法,以下以第一sdn控制器为执行主体,来具体的介绍具体的方法。

在步骤101中,用户端需要访问第一sdn控制器,则用户端向第一sdn控制器发送第一访问请求信息,第一sdn控制器收到第一访问请求信息后,会解析第一访问请求信息,确认第一访问请求信息内是否携带有与用户端对应的验证信息。

需要说明的是,在实际应用中,会存在两种情况,即第一访问请求信息内携带有与用户端对应的验证信息,或者第一访问请求信息内没有携带有与用户端对应的验证信息。在本发明实施例中,会先介绍第一访问请求信息内没有携带有与用户端对应的验证信息这种情况,具体地,当第一访问请求信息内没有携带有与用户端对应的验证信息时,第一sdn控制器会向用户端发送第一反馈消息,该第一反馈消息用于告知用户端,需要先向身份认证授权服务器进行账号密码验证。

在本发明实施例中,身份认证授权服务器收到用户端发送的认证请求后,身份认证授权服务器会对与认证请求内携带的账号密码进行验证,当验证通过,则会向用户端发送一个与用户端对应的验证信息。

需要说明的是,在本发明实施例中,验证信息是身份认证授权服务根据用户端的用户名,密码,当前系统时间和一个随机数生成的一些字符串,并将生成的字符串用md5算法生成一个摘要字符串,将该摘要字符串作为key,用户端的用户名,身份信息和授权信息,作为value,以key-value形式一块缓存在身份认证授权服务器内,通过摘要字符串即客户端携带验证信息就可以查找到用户端的身份信息和授权信息。在本发明实施例中,在生成字符串时,由于系统内存储的用户端的用户名是唯一的,即按照摘要字段的生成方式,不会生成重复的摘要字符串。进一步地,由于md5算法是一种不可逆的算法,即不能通过摘要字符串解析到原来字符中的用户端的用户名,身份信息和授权信息,密码等信息。

在本发明实施例中,当缓存的key-value对即验证信息,用户名,身份信息和授权信息的时间长度超过设定时间阈值时,身份认证授权服务器将key-value对即验证信息,用户名,身份信息和授权信息删除。当身份认证授权服务器将key-value即验证信息,用户名,身份信息和授权信息删除后,则用户端再次访问sdn控制器集群中任意一个sdn控制器时,需要再次对用户端的账号密码进行认证。认证成功后,获取了用户的信息,同时生成摘要字符串,将该摘要字符串和用户端的用户名,身份信息和授权信息一块保存在身份认证授权服务器,即是以key-value形式保存,其中摘要字段为key,用户名,身份信息和授权信息为value。进一步地,由于身份认证授权服务器在缓存里设置一个过期时间,一旦到了过期时间,这个key-value将会被缓存系统自动删除。当验证信息为已经删除的key时,用户端再次访问sdn控制器集群中任意一个sdn控制器时,需要身份认证授权服务器对用户端进行账号密码认证。

在步骤102中,用户端向第一sdn控制器发送第二访问请求信息,在该第二访问请求信息内携带有与用户端对应的验证信息,第一sdn控制器收到第二访问请求信息后,解析第二访问请求信息,得到与用户端对应的验证信息,并将与用户端对应的验证信息再次发送至身份认证授权服务器,希望身份认证授权服务器来验证与用户端对应的验证信息是否正确,当身份认证授权服务器对验证信息验证正确后,会收到身份认证授权服务器发送的身份信息和授权信息,即用户端访问第一sdn控制器成功。

需要说明的是,用户端在向第一sdn控制器发送第二访问请求信息前,已经向身份认证授权服务器发送了认证请求,并收到了身份认证授权服务器发送的第二反馈信息,且第二反馈信息内携带有与用户端对应的验证信息。

当用户端访问第一sdn控制器成功后,用户端再次访问与第一sdn控制器具有相同的sdn控制器集群内的第二sdn控制器时,会向第二sdn控制器发送第三访问请求,且该第三访问请求内携带有与用户端对应的验证信息,第二sdn控制器向身份认证授权服务器发送与用户端对应的验证信息,由于身份认证授权服务器内存储有验证信息和用户端的用户名,身份信息和授权信息,则可以直接向第二sdn控制器发送用户端的身份信息和授权信息。

需要说明的是,在本发明实施例中,由于客户端跟sdn控制器或者身份认证授权服务器的通信均采用ssl(英文为:securesocketslayer中文为:安全套接层)协议,从而可以保证了验证信息在传输过程中不会被截获伪造。

现有技术中,在一个sdn控制器集群内,由于每一个sdn控制器都有自己独立的用户名密码登录验证逻辑,当有n个控制器时,就会有n个用户名密码登录验证逻辑。即用户端访问一个sdn控制器集群内的每个sdn控制器时,都需要进行用户名密码登录验证,导致步骤比较繁琐。而在本发明实施例中,将同一个sdn控制器集群内的每一个控制器里独立的用户名密码登录验证逻辑去掉,同时只有一个用户名密码登录验证逻辑放在身份授权服务器上,也就是如果用户端需要登录某一个sdn控制器时,只需要转移到身份授权服务器上进行登录验证即可。从而解决了现有技术中对sdn控制器集群里的多个控制器进行访问时,均需对多个控制器进行登录,存在登录过程比较繁琐的问题。

图2为本发明实施例一提供的单点登录sdn控制器集群的方法示意图,如图2所示,该方法包括以下步骤:

步骤201,当客户端要访问sdn控制器集群内的sdn控制器1时,客户端会向sdn控制器1发送第一访问请求信息;

步骤202,sdn控制器1检查第一访问请求信息内是否携带着身份认证授权服务器颁发的ticket,若确定没有携带ticket,则sdn控制器1重定向到身份认证授权服务器进行账号密码的认证;

步骤203,身份认证授权服务器收到用户端发送的认证请求,对客户端进行账号密码认证,认证通过后,身份认证授权服务器向客户端发送一个与客户端对应的ticket;

步骤204,身份认证授权服务器请求被重定向到客户端原来要访问的sdn控制器1,即用户端向sdn控制器1发送第二访问请求信息,第二访问请求信息内携带有与客户端对应的ticket;

步骤205,sdn控制器1将从第二访问请求信息内解析到的ticket发送到身份认证授权服务器进行校验;

步骤206,若身份认证授权服务器验证ticket后,确定成功,则身份认证授权服务器将会向sdn控制器1发送客户端的身份信息和授权信息。即客户端就可以对sdn控制器1进行访问和管理了。

步骤207,当客户端要访问sdn控制器集群里的sdn控制器2时,由于客户端在访问sdn控制器1时,已经进行了账号密码的认证,即客户端向sdn控制器2发送的第三访问请求信息内携带有ticket;

步骤208,sdn控制器2将从第三访问请求信息内解析到的ticket发送到身份认证授权服务器进行校验;

步骤209,当验证成功,则身份认证授权服务器将会向sdn控制器2发送客户端的身份信息和授权信息,即客户端就可以对sdn控制器2进行访问和管理了。

基于同一发明构思,本发明实施例提供了一种sdn控制器集群单点登录的装置,由于该装置解决技术问题的原理与一种sdn控制器集群单点登录的方法相似,因此该装置的实施可以参见方法的实施,重复之处不再赘述。

图3为本发明实施例提供的一种sdn控制器集群单点登录的装置结构示意图,如图3所示,该装置包括发送单元301和收到单元302。

发送单元301,用于收到用户端发送的第一访问请求信息,当确认所述第一访问请求信息内没有携带与所述用户端对应的验证信息时,向所述用户端发送第一反馈消息,以使所述用户端向身份认证授权服务器发送认证请求;

收到单元302,用于收到所述用户端发送的第二访问请求信息,所述第二访问请求信息内携带有与所述用户端对应的验证信息,所述验证信息为所述身份认证授权服务器向所述用户端发送的第二反馈信息内携带的信息;向所述身份认证授权服务器发送所述验证信息,以使所述身份认证授权服务器对所述验证信息进行验证,当验证成功后,收到所述身份认证授权服务器发送的与用户端对应的身份信息和授权信息。

优选地,所述发送单元301还用于:

所述身份认证授权服务器对所述用户端发送的认证请求内携带的账号密码进行验证,当验证成功后,向所述用户端发送所述第二反馈信息。

优选地,所述验证信息是所述身份认证授权服务器根据所述用户端的用户名,密码,当前系统时间和随机数组合的且通过md5算法生成的一个与所述用户端对应的唯一的字符串。

优选地,所述收到单元302还用于:

与所述用户端对应的验证信息和所述用户端的用户名,身份信息和授权信息保存在所述身份认证授权服务器内,当保存所述验证信息和所述用户名,所述身份信息和所述授权信息的时间长度超过设定时间阈值时,所述身份认证授权服务器将所述验证信息和所述用户名,所述身份信息和所述授权信息删除。

应当理解,以上一种sdn控制器集群单点登录的装置包括的单元仅为根据该设备装置实现的功能进行的逻辑划分,实际应用中,可以进行上述单元的叠加或拆分。并且该实施例提供的一种sdn控制器集群单点登录的装置所实现的功能与上述实施例提供的一种sdn控制器集群单点登录的方法一一对应,对于该装置所实现的更为详细的处理流程,在上述方法实施例一中已做详细描述,此处不再详细描述。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

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