单点登录的登录方法及装置与流程

文档序号:18019613发布日期:2019-06-26 01:06阅读:225来源:国知局
单点登录的登录方法及装置与流程

本发明涉及通信技术领域,特别是涉及一种单点登录的登录方法及装置。



背景技术:

单点登录(Single Sign On,SSO)是目前比较流行的企业业务整合的解决方案之一。单点登录系统中包含多个应用系统,用户只需要登录一次就可以访问所有相互信任的应用系统。单点登录系统的执行过程具体为:当用户第一次访问应用系统1时,会被引导到认证系统中进行登录;根据用户提供的登录信息,服务器进行身份验证,如果通过验证,返回给用户一个认证的凭据-ticket;用户访问应用系统2时,携带ticket作为登录认证的凭据,应用系统2对该ticket进行验证,检查ticket的合法性,如果验证成功,用户就可以在不用再次登录的情况下访问应用系统2。

为了确保账号和密码安全,单点登录系统中各个应用系统会有固定的加密方式,但每个应用系统中密码的加密方式是不同的。单点登录服务器会记录有每个应用系统对应的加密方式,当登录应用系统的密码加密方式与单点登录服务器中保存的密码加密方式一致时,成功登录应用系统;当单点登录中某个应用系统更换了密码加密方式,而单点登录服务器没有对更换后的密码加密方式进行保存时,由于登录应用系统的密码加密方式与单点登录服务器中保存的密码加密方式不一致,造成用户输入的登录密码与单点登录服务器中保存的登录密码不一致,导致用户无法成功登录该应用系统,因此登录应用系统的灵活性较低。



技术实现要素:

有鉴于此,本发明提供的一种单点登录的登录方法及装置,主要目的在于解决由于登录应用系统的密码加密方式与单点登录服务器中保存的密码加密方式不一致,造成用户输入的登录密码与单点登录服务器中保存的登录密码不一致,导致用户无法成功登录该应用系统,因此单点登录系统登录应用系统的灵活性较低的问题。

为了解决上述问题,本发明主要提供如下技术方案:

一方面,本发明提供了一种单点登录的登录方法,该方法包括:

接收单点登录客户端发送的登录请求信息,所述登录请求信息中携带有用户ID、登录密码及应用系统的标识信息,所述用户ID为执行单点登录时用户的唯一标识信息,所述单点登录客户端中包含有至少一个应用系统;

根据所述用户ID以及所述标识信息确定本地用户信息库中是否存在与所述登录密码对应的密码加密方式;

若确定所述本地用户信息库中不存在与所述登录密码对应的密码加密方式,则根据预设加密方式规则库确定所述登录密码的密码加密方式,并用确定后的所述密码加密方式对所述登录密码进行加密;其中,所述预设加密方式规则库包含已知密码加密方式的规则信息;

验证加密后的登录密码是否正确;

若所述加密后的登录密码正确,则向所述单点登录客户端发送登录成功的提示信息。

另一方面,本发明还提供一种单点登录的登录装置,该装置包括:

接收单元,用于接收单点登录客户端发送的登录请求信息,所述登录请求信息中携带有用户ID、登录密码及应用系统的标识信息,所述用户ID为执行单点登录时用户的唯一标识信息,所述单点登录客户端中包含有至少一个应用系统;

第一确定单元,用于根据所述接收单元接收的所述用户ID以及所述标识信息确定本地用户信息库中是否存在与所述登录密码对应的密码加密方式;

第二确定单元,用于当所述第一确定单元确定所述本地用户信息库中不存在与所述登录密码对应的密码加密方式时,根据预设加密方式规则库确定所述登录密码的密码加密方式;

第一加密单元,用于在第二确定单元确定所述密码加密方式之后,用确定后的所述密码加密方式对所述登录密码进行加密;其中,所述预设加密方式规则库包含已知密码加密方式的规则信息;

验证单元,用于验证所述第一加密单元加密后的登录密码是否正确;

第一发送单元,用于当所述验证单元验证所述加密后的登录密码正确时,向所述单点登录客户端发送登录成功的提示信息。

借由上述技术方案,本发明提供的技术方案至少具有下列优点:

本发明提供的单点登录的登录方法及装置,单点登录服务器接收单点登录客户端发送的登录请求信息,该登录请求信息中携带有用户ID、登录密码及应用系统的标识信息,根据接收的用户ID以及标识信息确定本地用户信息库中是否存在与登录密码对应的密码加密方式,若确定本地用户信息库中不存在与登录密码对应的密码加密方式,则根据预设加密方式规则库确定该登录密码的密码加密方式,并用确定后的密码加密方式对该登录密码进行加密,验证加密后的登录密码是否争取,若加密后的登录密码正确,则向单点登录客户端发送登录成功的提示信息。与现有技术相比,本发明首先确定本地用户信息库中登录密码的加密方式,用确定后的加密方式对用户输入的登录密码进行加密,确保本地用户信息库中的登录密码加密方式与用户输入的登录密码加密方式一致,即不管应用系统采用何种登录密码加密方式,单点登录服务器都能够对不同的登录密码加密方式进行灵活匹配,实现验证登录密码的合法性。

上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。

附图说明

通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:

图1示出了本发明实施例提供的一种单点登录的登录方法的示意图;

图2示出了本发明实施例提供的另一种单点登录的登录方法的示意图;

图3示出了本发明实施例提供的一种单点登录的登录装置的组成框图;

图4示出了本发明实施例提供的另一种单点登录的登录装置的组成框图。

具体实施方式

下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。

本发明实施例提供了一种单点登录的登录方法,该方法应用于单点登录服务器侧,如图1所示,该方法包括:

101、接收单点登录客户端发送的登录请求信息,所述登录请求信息中携带有用户ID、登录密码及应用系统的标识信息。

单点登录系统中包括单点登录客户端和单点登录服务器,单点登录客户端中包含至少一个应用系统,每个应用系统都有自身的用户ID,该用户ID为执行单点登录时用户的唯一标识信息,单点登录系统验证用户ID成功之后,该用户ID可以在不用再次登录的情况下访问单点登录客户端中的其他应用系统。

在登录单点登录系统时,单点登录客户端向单点登录服务器发送登录请求信息,该登录请求信息中携带有用户ID、登录密码、及应用系统的标识信息,单点登录服务器接收单点登录客户端发送的请求信息之后,获取请求信息中携带的用户ID、登录密码、及应用系统的标识信息,本发明实施例对请求信息中携带的信息不进行具体限定。

102、根据所述用户ID以及所述标识信息确定本地用户信息库中是否存在与所述登录密码对应的密码加密方式。

在用户ID注册成功之后,单点登录系统会将该用户ID与登录密码保存到单点登录系统的本地用户信息库中,该本地用户信息库中至少包括:用户ID、登录密码、应用系统的标识信息、密码加密方式、登录时间等。需要说明的是,在本发明实施例中,每个应用系统都有不同的密码加密方式,单点登录系统在验证登录密码的合法性之前,需要获取该登录密码的密码加密方式。本地用户信息库中保存的登录密码是加密之后的登录密码,而用户在应用系统中输入的登录密码是没有经过加密的,因此,在单点登录系统对用户输入的登录密码进行验证时,首先获取本地信息库中登录密码的加密方式,以便将用户输入的登录密码使用本地信息库中登录密码的加密方式进行加密。

本发明实施例中,登录密码的密码加密方式可以采用但不局限于以下方式,例如:数据加密算法(Data Encryption Algorithm,DEA)、信息摘要算法(Message-Digest Algorithm 5,MD5)、安全散列算法(Secure Hash Algorithm,SHA)、AES算法(Advanced Encryption Standard,AES),本发明实施例对密码加密方式的具体类型不进行限定。

示例性的,如表1所示,表1示出了本发明实施例提供的本地用户信息库。表1中仅为示例性的举例,本发明实施例对用户ID、应用系统的标识信息、登录密码、加密方式等内容不进行具体限定。

表1

103、若确定所述本地用户信息库中不存在与所述登录密码对应的密码加密方式,则根据预设加密方式规则库确定所述登录密码的密码加密方式,并用确定后的所述密码加密方式对所述登录密码进行加密。

当步骤102中确定本地用户信息库中不存在与登录密码对应的密码加密方式时,单点登录服务器获取本地用户信息库中保存的登录密码,基于获取的登录密码匹配预设加密方式规则库,确定该登录密码的加密方式;并使用确定后的密码加密方式对用户输入的登录密码进行加密。其中,该预设加密方式规则库包含已知密码加密方式的规则信息。

需要说明的是,本发明实施例中所述的预设加密方式规则库为可配置的规则库,当应用系统中对登录密码的加密方式进行更改,且预设加密方式规则库中没有对更改后的密码加密方式进行存储记录时,可以将更改后的密码加密方式配置到预设加密方式规则库中。

104、验证加密后的登录密码是否正确。

步骤103在用确定后的所述密码加密方式对所述登录密码进行加密之后,单点登录服务器将该加密后的登录密码与本地用户信息库中的登录密码进行比较,验证加密后的所述登录密码是否正确。

105、若所述加密后的登录密码正确,则向所述单点登录客户端发送登录成功的提示信息。

当加密后的登录密码正确时,单点登录服务器向单点登录客户端发送登录成功的提示信息;当加密后的登录密码不正确时,单点登录服务器向单点登录客户端发送登录失败的提示信息,或者当加密后的登录密码不正确时,单点登录服务器向单点登录客户端发送登录密码错误的提示信息。本发明实施例对单点登录服务器向单点登录客户端发送的提示信息的内容不进行具体限定。

本发明实施例提供的单点登录的登录方法,单点登录服务器接收单点登录客户端发送的登录请求信息,该登录请求信息中携带有用户ID、登录密码及应用系统的标识信息,根据接收的用户ID以及标识信息确定本地用户信息库中是否存在与登录密码对应的密码加密方式,若确定本地用户信息库中不存在与登录密码对应的密码加密方式,则根据预设加密方式规则库确定该登录密码的密码加密方式,并用确定后的密码加密方式对该登录密码进行加密,验证加密后的登录密码是否争取,若加密后的登录密码正确,则向单点登录客户端发送登录成功的提示信息。与现有技术相比,本发明实施例首先确定本地用户信息库中登录密码的加密方式,用确定后的加密方式对用户输入的登录密码进行加密,确保本地用户信息库中的登录密码加密方式与用户输入的登录密码加密方式一致,即不管应用系统采用何种登录密码加密方式,单点登录服务器都能够对不同的登录密码加密方式进行灵活匹配,实现验证登录密码的合法性。

进一步的,在根据预设加密方式规则库确定登录密码的密码加密方式之前,创建预设加密方式规则库,该预设加密方式规则库中记录有所有的密码加密方式的信息;示例性的,当加密方式为DES时,预设加密方式规则库中记录的信息为DES的密钥长度是56比特;当加密方式为MD5时,预设加密方式规则库中记录的信息为将一个任意长度的字符串转换成一个定长的十六进制的数字串。本发明实施例中,有关预设加密方式规则库中记录有所有的密码加密方式的信息,可以采用现有技术中任意一种描述信息,本发明实施例在此不再进行赘述。

作为本发明实施例的一种实现方式,在创建预设加密方式规则库时,给每种密码加密方式定义一种匹配的正则表达式,正则表达式使用单个字符串来描述、匹配一系列符合密码加密方式规则的字符串,以便单点登录服务器确定本地用户信息库中没有记录登录密码的加密方式时,能够通过定义的正则表达式快速确定本地用户信息库中的登录密码对应的加密方式。例如,当加密方式为MD5时,对应的正则表达式为“[a-fA-F0-9]{32,32}”。

进一步的,作为对上述实施例的细化和扩展,在执行步骤103根据预设加密方式规则库确定所述登录密码的密码加密方式时,根据用户ID与应用系统的标识信息获取登录密码字符串,该登录密码字符串为本地用户信息库中存储的加密后的登录密码对应的字符串,基于登录密码字符串匹配预设加密方式规则库,确定登录密码字符串对应的密码加密方式。示例性的,假设,单点登录服务器接收到的用户ID为zhangsan,该用户登录的是应用系统II,单点登录服务器基于zhangsan以及应用系统II,遍历本地用户信息库,获取与zhangsan以及应用系统II对应的登录密码字符串,将登录密码字符串用正则表达式去匹配预设加密方式规则库,确定应用系统II的密码加密方式为MD5。以上仅为示例性的举例,在实际应用过程中在根据预设加密方式规则库确定登录密码的密码加密方式时,涉及的具体内容要根据实际情况进行限定。

进一步的,根据所述用户ID以及所述标识信息确定本地用户信息库中是否存在与所述登录密码对应的密码加密方式包括:获取用户ID以及应用系统的标识信息,基于用户ID以及应用系统的标识信息遍历本地用户信息库,并确定本地用户信息库中是否存在与登录密码对应的密码加密方式。当确定本地用户信息库中存在与登录密码对应的密码加密方式时,基于密码加密方式对登录密码进行加密;当确定本地用户信息库中不存在与登录密码对应的密码加密方式时,执行步骤103中根据预设加密方式规则库确定登录密码的密码加密方式。

进一步的,验证加密后的登录密码是否正确,具体为:验证加密后的登录密码与本地用户信息库中的登录密码字符串是否一致,若加密后的登录密码与登录密码字符串一致,则向单点登录客户端发送登录成功的提示信息;若加密后的登录密码与登录密码字符串不一致,则向单点登录客户端发送登录失败的提示信息。示例性的,假设,用户ID为zhangsan,用户输入的登录密码为dev,登录的应用系统的密码加密方式为MD5,单点登录服务器使用MD5对登录密码进行密码加密,加密后的登录密码为一个字符串:E77989ED21758E78331B20E477FC5582,将加密后的登录密码与本地用户信息库中的登录密码字符串进行比较,若比较结果一致,则单点登录服务器向单点登录客户端发送登录成功的提示信息;若比较结果不一致,则单点登录服务器向单点登录客户端发送登录失败,请重新输入登录密码的提示信息。

进一步的,以下将对单点登录的登录进行一个汇总描述,本发明实施例提供另一种单点登录的登录方法,如图2所示,该方法包括:

201、创建所述预设加密方式规则库。

202、接收单点登录客户端发送的登录请求信息,所述登录请求信息中携带有用户ID、登录密码及应用系统的标识信息。

203、根据所述用户ID以及所述标识信息确定本地用户信息库中是否存在与所述登录密码对应的密码加密方式。

若确定所述本地用户信息库中不存在与所述登录密码对应的密码加密方式,则执行步骤204;若确定所述本地用户信息库中存在与所述登录密码对应的密码加密方式,则执行步骤205。

204、根据预设加密方式规则库确定所述登录密码的密码加密方式,并用确定后的所述密码加密方式对所述登录密码进行加密。

205、基于所述密码加密方式对所述登录密码进行加密。

206、验证加密后的登录密码是否正确。

若所述加密后的登录密码正确,则执行步骤207;若所述加密后的登录密码不正确,则执行步骤208。

207、向所述单点登录客户端发送登录成功的提示信息。

208、向所述单点登录客户端发送登录失败的提示信息。

需要说明的是,有关图2中步骤201至步骤208的详细描述,请参考以上有关描述,本发明实施例在此不再进行赘述。

进一步的,作为对上述图1所示方法的实现,本发明实施例提供一种单点登录的登录装置,如图3所示,该装置包括:

接收单元31,用于接收单点登录客户端发送的登录请求信息,所述登录请求信息中携带有用户ID、登录密码及应用系统的标识信息,所述用户ID为执行单点登录时用户的唯一标识信息,所述单点登录客户端中包含有至少一个应用系统;

第一确定单元32,用于根据所述接收单元31接收的所述用户ID以及所述标识信息确定本地用户信息库中是否存在与所述登录密码对应的密码加密方式;

第二确定单元33,用于当所述第一确定单元32确定所述本地用户信息库中不存在与所述登录密码对应的密码加密方式时,根据预设加密方式规则库确定所述登录密码的密码加密方式;

第一加密单元34,用于在第二确定单元33确定所述密码加密方式之后,用确定后的所述密码加密方式对所述登录密码进行加密;其中,所述预设加密方式规则库包含已知密码加密方式的规则信息;

验证单元35,用于验证所述第一加密单元34加密后的登录密码是否正确;

第一发送单元36,用于当所述验证单元35验证所述加密后的登录密码正确时,向所述单点登录客户端发送登录成功的提示信息。

进一步的,如图4所示,所述第二确定单元33包括:

获取模块331,用于根据所述用户ID与所述标识信息获取登录密码字符串,所述登录密码字符串为所述本地用户信息库中存储的加密后的登录密码对应的字符串;

匹配模块332,用于基于所述获取模块331获取的所述登录密码字符串匹配所述预设加密方式规则库;

确定模块333,用于在所述匹配模块332匹配基于所述登录密码字符串匹配所述预设加密方式规则库之后,确定所述登录密码字符串对应的密码加密方式。

进一步的,如图4所示,所述装置还包括:

创建单元37,用于在所述第二确定单元33根据预设加密方式规则库确定所述登录密码的密码加密方式之前,创建所述预设加密方式规则库。

进一步的,如图4所示,所述第一确定单元32包括:

获取模块321,用于获取所述用户ID以及所述标识信息;

遍历模块322,基于所述获取模块321获取的所述用户ID以及所述标识信息遍历所述本地用户信息库;

确定模块323,用于在所述遍历模块322基于所述用户ID以及所述标识信息遍历所述本地用户信息库之后,确定所述本地用户信息库是否存在与所述登录密码对应的密码加密方式。

进一步的,如图4所示,所述装置还包括:

第二加密单元38,用于当所述第一确定单元32确定所述本地用户信息库中存在与所述登录密码对应的密码加密方式时,基于所述密码加密方式对所述登录密码进行加密。

进一步的,如图4所示,所述装置还包括:

第二发送单元39,当所述验证单元35验证所述加密后的登录密码不正确时,向所述单点登录客户端发送登录失败的提示信息。

进一步的,所述验证单元35,还用于验证所述加密后的登录密码与所述登录密码字符串是否一致;

所述第一发送单元36,还用于当所述验证单元35验证的所述加密后的登录密码与所述登录密码字符串一致时,向所述单点登录客户端发送登录成功的提示信息。

进一步的,所述第二发送单元39,还用于当所述验证单元35验证的所述加密后的登录密码与所述登录密码字符串不一致时,向所述单点登录客户端发送登录失败的提示信息。

本发明实施例提供的单点登录的登录装置,单点登录服务器接收单点登录客户端发送的登录请求信息,该登录请求信息中携带有用户ID、登录密码及应用系统的标识信息,根据接收的用户ID以及标识信息确定本地用户信息库中是否存在与登录密码对应的密码加密方式,若确定本地用户信息库中不存在与登录密码对应的密码加密方式,则根据预设加密方式规则库确定该登录密码的密码加密方式,并用确定后的密码加密方式对该登录密码进行加密,验证加密后的登录密码是否争取,若加密后的登录密码正确,则向单点登录客户端发送登录成功的提示信息。与现有技术相比,本发明实施例首先确定本地用户信息库中登录密码的加密方式,用确定后的加密方式对用户输入的登录密码进行加密,确保本地用户信息库中的登录密码加密方式与用户输入的登录密码加密方式一致,即不管应用系统采用何种登录密码加密方式,单点登录服务器都能够对不同的登录密码加密方式进行灵活匹配,实现验证登录密码的合法性。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

可以理解的是,上述方法及装置中的相关特征可以相互参考。另外,上述实施例中的“第一”、“第二”等是用于区分各实施例,而并不代表各实施例的优劣。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。

在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。

类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。

本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。

此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。

本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的单点登录的登录方法及装置中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。

应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

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