CN113297559B - 单点登录方法、装置、计算机设备和存储介质 - Google Patents

单点登录方法、装置、计算机设备和存储介质 Download PDF

Info

Publication number
CN113297559B
CN113297559B CN202110516556.6A CN202110516556A CN113297559B CN 113297559 B CN113297559 B CN 113297559B CN 202110516556 A CN202110516556 A CN 202110516556A CN 113297559 B CN113297559 B CN 113297559B
Authority
CN
China
Prior art keywords
party
user
login
application
target
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202110516556.6A
Other languages
English (en)
Other versions
CN113297559A (zh
Inventor
罗金泉
马光
张大朋
何牧君
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Dawning Information Industry Co Ltd
Original Assignee
Dawning Information Industry Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Dawning Information Industry Co Ltd filed Critical Dawning Information Industry Co Ltd
Priority to CN202110516556.6A priority Critical patent/CN113297559B/zh
Publication of CN113297559A publication Critical patent/CN113297559A/zh
Application granted granted Critical
Publication of CN113297559B publication Critical patent/CN113297559B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/41User authentication where a single sign-on provides access to a plurality of computers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本申请涉及一种单点登录方法、装置、计算机设备和存储介质。所述方法通过基于目标程序***的应用页面获取第三方登录操作,并根据第三方登录操作获取目标用户的登录信息,再查询底层数据库的第三方列表中是否存在用户名,得到查询结果,最后根据查询结果登录应用页面。上述方法通过在底层数据库中建立第三方列表记录已绑定的用户名,使第三方的用户想要登录目标程序***时,可以直接通过查询第三方列表记录即可登录目标程序***的应用页面,实现了基于目标程序***的第三方单点登录,解决了现有的目标程序***无法应用在第三方单点登录场景中的问题,扩大了目标程序***的应用范围。

Description

单点登录方法、装置、计算机设备和存储介质
技术领域
本申请涉及云平台管理技术领域,特别是涉及一种单点登录方法、装置、计算机设备和存储介质。
背景技术
OpenStack是一个开源的云计算管理平台项目,是一系列软件开源项目的组合。OpenStack可以为公共及私有云提供可扩展的弹性的云计算服务,虽然OpenStack项目诞生时间不长,但其发展迅速,在云计算领域的影响力扩大,使得OpenStack项目成为业内所有人关注的焦点。
目前,在网页应用方面,越来越多的用户可以基于OpenStack平台实现网页应用的登录访问。其中,Keystone服务模块作为OpenStack程序***中的核心组件之一,主要提供身份验证、服务管理、令牌服务及权限管理等服务。在Icehouse版本中,Keystone服务模块中提出Federation功能为用户实现网页应用的登录访问提供服务。
但是,上述OpenStack程序***无法应用在第三方单点登录场景中。
发明内容
基于此,有必要针对上述技术问题,提供一种能够应用在第三方单点登录场景的单点登录方法、装置、计算机设备和存储介质。
第一方面,一种单点登录方法,所述方法包括:
基于所述目标程序***的应用页面获取第三方登录操作;
根据所述第三方登录操作获取目标用户的登录信息;所述登录信息至少包括所述目标用户的用户名和用户密码:
查询底层数据库的第三方列表中是否存在所述用户名,得到查询结果;
根据所述查询结果登录所述应用页面。
上述实施例所述的单点登录方法,通过基于目标程序***的应用页面获取第三方登录操作,并根据第三方登录操作获取目标用户的登录信息,再查询底层数据库的第三方列表中是否存在用户名,得到查询结果,最后根据查询结果登录应用页面。上述方法通过在底层数据库中建立第三方列表记录已绑定的用户名,使第三方的用户想要登录目标程序***时,可以直接通过查询第三方列表记录即可登录目标程序***的应用页面,实现了基于目标程序***的第三方单点登录,解决了现有的目标程序***无法应用在第三方单点登录场景中的问题,扩大了目标程序***的应用范围。另外,上述方法不需要额外建立上层库存储第三方用户信息,从而避免了因上层库和底层数据库中数据不一致导致的无法正常登录应用页面的问题。
在其中一个实施例中,所述根据所述查询结果登录所述应用页面,包括:
若所述查询结果表示所述第三方列表中存在所述用户名,则对所述用户密码进行验证,并在验证通过的情况下,登录所述应用页面;
若所述查询结果表示所述第三方列表中不存在所述用户名,则在所述第三方列表中添加所述用户名,并登录所述应用页面,以及将所述用户名和所述用户密码存储至所述底层数据库中。
上述实施例所述的登录应用页面的方法,通过得到不同的查询结果采用不同的登录方式登录应用页面,充分考虑了实际应用中初次登录目标程序***的的新用户和再次登录目标程序***的老用户,实现了无论何种类型的第三方用户均可以成功登录至目标程序***的应用场景。
在其中一个实施例中,所述将所述用户密码存储至所述底层数据库中,包括:
采用预设算法对所述用户密码进行加密,得到加密后的用户密码;
将所述加密后的用户密码存储至所述底层数据库中。
上述实施例所述的方法,通过对用户密码进行加密后存储,避免非法用户从底层数据库中盗取密码伪造合法用户执行非法登录操作,进而保障了目标程序***被使用的安全性。
在其中一个实施例中,所述对所述用户密码进行验证,包括:
采用预设算法对所述用户密码进行加密,得到加密后的用户密码;
判断所述底层数据库中所述用户名对应的密码与所述加密后的用户密码是否一致,若一致,则确定所述用户密码验证通过;若不一致,则确定所述用户密码验证失败。
上述实施例所述的方法中,通过对用户密码进行加密后验证,以匹配底层数据库中加密后的用户密码,且在匹配底层数据库中加密后的用户密码时,并不需要解密流程,在保障了目标程序***被使用安全性的同时还可以简化验证用户身份的流程,提高了用户验证过程的速度,进而提高了用户登录目标程序***的效率。
在其中一个实施例中,所述根据所述第三方登录操作获取目标用户的登录信息,包括:
获取所述第三方登录操作对应的第三方应用的配置参数;
根据所述配置参数生成跳转链接;
根据所述跳转链接跳转至所述第三方应用的登录页面,并基于所述第三方应用的登录页面获取所述目标用户的登录信息。
上述实施例所述的方法,通过配置参数即可完成目标程序***的当前应用页面与第三方应用的登录页面之间的切换流程,不需要手动输入页面地址信进行第三方应用的登录页面的切换,提高了用户登录应用页面的效率和体验度。
在其中一个实施例中,所述基于所述第三方应用的登录页面获取所述目标用户的登录信息,包括:
基于所述第三方应用的登录页面获取目标用户输入的登录操作信息,并向第三方应用平台发送携带所述登录操作信息的登录请求;
接收所述第三方应用平台对所述登录操作信息进行验证通过后返回的所述目标用户的登录信息。
上述实施例所述的方法,使终端从第三方应用平台上获取到的目标用户的登录信息是经过验证后的登录信息,在一定程度上也保障了目标程序***被使用的安全性。
在其中一个实施例中,所述目标程序***为OpenStack程序***。
第二方面,一种单点登录装置,所述装置包括:
第一获取模块,用于基于所述目标程序***的应用页面获取第三方登录操作;
第二获取模块,用于根据所述第三方登录操作获取目标用户的登录信息;所述登录信息至少包括所述目标用户的用户名和用户密码;
查询模块,用于查询底层数据库的第三方列表中是否存在所述用户名,得到查询结果;
登录模块,用于根据所述查询结果登录所述应用页面。
第三方面,一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述第一方面所述的方法。
第四方面,一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面所述的方法。
附图说明
图1为一个实施例中单点登录方法的应用环境图;
图2为一个实施例中单点登录方法的流程示意图;
图3为图2实施例中S104的一种实现方式的流程示意图;
图4为图3实施例中S202的一种实现方式的流程示意图;
图5为图3实施例中S201的一种实现方式的流程示意图;
图6为图2实施例中S102的一种实现方式的流程示意图;
图7为图6实施例中S503的一种实现方式的流程示意图;
图8为一个实施例中单点登录方法的流程示意图;
图9为一个实施例中单点登录装置的结构框图;
图10为一个实施例中单点登录装置的结构框图;
图11为一个实施例中单点登录装置的结构框图;
图12为一个实施例中单点登录装置的结构框图;
图13为一个实施例中单点登录装置的结构框图;
图14为一个实施例中单点登录装置的结构框图;
图15为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
目前,在网页应用方面,越来越多的用户可以基于OpenStack程序***的平台实现网页应用的登录访问。其中,Keystone服务模块作为OpenStack程序***中的核心组件之一,主要提供身份验证、服务管理、令牌服务及权限管理等服务。Keystone服务模块设计之初,所有用户信息均保存在Keystone服务模块中,由Keystone服务模块承担用户信息管理及用户身份认证。在Icehouse版本中,Keystone服务模块中提出Federation功能,作为附加功能,为用户提供OpenStack环境之外的身份信息管理功能。但是Fedration功能不会把用户信息存在Keystone服务模块中,无法解决需要存储第三方用户信息的应用场景,因此,现有的OpenStack程序***中的Keystone服务模块的Fedration功能无法解决常用的单点登录场景。基于上述应用场景,本申请提出了一种可以应用在第三方用户登录场景的单点登录的方法以解决上述技术问题,下面实施例将具体介绍该方法。
本申请提供的单点登录方法,可以应用于如图1所示的应用环境中。其中,终端102与第三方应用平台104通过网络进行通信。终端102上安装OpenStack程序***,且该OpenStack程序***可以通过与第三方应用平台104对接实现应用在第三方单点登录场景中。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,第三方应用平台104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
本领域技术人员可以理解,图1中示出的应用环境,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的应用环境的限定,具体的应用环境可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,如图2所示,提供了一种单点登录方法,以该方法应用于图1中的终端为例进行说明,包括以下步骤:
S101,基于目标程序***的应用页面获取第三方登录操作。
其中,目标程序***为OpenStack程序***。第三方登录操作是指用户在目标程序***的应用页面上点击第三方登录按钮或控件的操作,第三方可以是与安装目标程序***的终端对接的任一商户平台,例如,微信、腾讯等。
本实施例中,当终端打开目标程序***的应用页面时,该应用页面上会展示多个属于不同商户平台的第三方登录按钮,用户即可选择自己想要登录的第三方的登录按钮,并点击进行相应的第三方登录操作,终端即可获取到该第三方登录操作。需要说明的是,上述仅是提供了点击按钮的一种操作方式,但是在实际应用中还可以通过滑动按钮、双击按钮等进行第三方登录操作,对于第三方登录操作的方式,可以根据实际设计需求确定,本实施例不限定。
S102,根据第三方登录操作获取目标用户的登录信息。
其中,登录信息至少包括目标用户的用户名和用户密码。目标用户的登录信息为第三方应用平台基于第三方登录操作向终端返回的目标用户的登录信息。
本实施例中,当终端获取到目标用户的第三方登录操作时,终端可以向第三方应用平台发送第三方登录操作对应的目标用户的身份验证请求,第三方应用平台接收到身份验证请求后即可对需要登录的目标用户的身份信息进行验证,并在验证通过的情况下确定目标用户的登录信息,并向终端返回目标用户的登录信息。可选的,终端也可以直接向第三方应用平台发送第三方登录操作对应的信息获取请求,第三方应用平台接收到信息获取请求后即可从数据库中读取出目标用户的登录信息,并向终端返回目标用户的登录信息。
S103,查询底层数据库的第三方列表中是否存在用户名,得到查询结果。
其中,第三方列表用于记录第三方的用户名。查询结果表示第三方列表中存在用户名,或者表示第三方列表中不存在用户名。
本实施例中,当终端获取到目标用户的登录信息后,可以进一步的查询底层数据库中第三方列表中记录的用户名,确定第三方列表中是否存在用户名,若查询结果表示第三方列表中存在用户名,则说明该目标用户为与终端绑定的第三方用户;若查询结果表示第三方列表中不存在用户名,则说明该目标用户为与终端未绑定的第三方用户。
S104,根据查询结果登录应用页面。
本实施例中,当终端获取到查询结果时,即可根据不同的查询结果采用不同的登录方式登录应用页面。比如,若查询结果表示第三方列表中存在用户名,则对该目标用户进行身份验证成功后允许该目标用户登录应用页面,若查询结果表示第三方列表中不存在用户名,则重新绑定该目标用户,同时直接允许该目标用户登录应用页面。
上述实施例所述的单点登录方法应用于目标程序***,且通过基于目标程序***的应用页面获取第三方登录操作,并根据第三方登录操作获取目标用户的登录信息,再查询底层数据库的第三方列表中是否存在用户名,得到查询结果,最后根据查询结果登录应用页面。上述方法通过在底层数据库中建立第三方列表记录已绑定的用户名,使第三方的用户想要登录目标程序***时,可以直接通过查询第三方列表记录即可登录目标程序***的应用页面,实现了基于目标程序***的第三方单点登录,解决了现有的目标程序***无法应用在第三方单点登录场景中的问题,扩大了目标程序***的应用范围。另外,上述方法不需要额外建立上层库存储第三方用户信息,从而避免了因上层库和底层数据库中数据不一致导致的无法正常登录应用页面的问题。
在一个实施例中,提供了上述S104的一种实现方式,如图3所示,上述S104“根据查询结果登录应用页面”,包括:
S201,若查询结果表示第三方列表中存在用户名,则对用户密码进行验证,并在验证通过的情况下,登录应用页面。
本实施例涉及查询结果表示第三方列表中存在用户名的应用场景,基于此应用场景,终端需要进一步的对该用户名的用户密码进行验证,并根据验证结果确定目标用户是否能够登录应用页面。具体在验证时,终端可以判断底层数据库中用户名对应的用户密码与自身存储的用户密码是否一致,若一致,则确定验证通过,并确定目标用户能够登录应用页面,终端在显示界面上展示登录后的应用页面,以便之后目标用户进行相应的页面访问;若不一致,则确定验证失败,并确定目标用户不能登录应用页面,此种情况下,终端弹出登录失败消息,以指示用户重新执行第三方登录操作。
S202,若查询结果表示第三方列表中不存在用户名,则在第三方列表中添加用户名,并登录应用页面,以及将用户名和用户密码存储至底层数据库中。
本实施例涉及查询结果表示第三方列表中不存在用户名的应用场景,基于此应用场景,终端需要在第三方列表中创建一个新的用户,并将该新的用户与获取到的用户名和用户密码进行绑定,即在第三方列表中添加该用户名,并将该用户名和用户密码对应的存储至底层数据库中,使该新的用户成为已绑定的第三方用户,以便下次该用户登录目标程序***的应用页面时,直接根据已绑定的用户流程登录应用页面。在终端执行上述绑定该目标用户的过程中,可以直接登录应用页面,实现新的第三方用户的单点登录。
上述实施例所述的登录应用页面的方法,通过得到不同的查询结果采用不同的登录方式登录应用页面,充分考虑了实际应用中初次登录目标程序***的的新用户和再次登录目标程序***的老用户,实现了无论何种类型的第三方用户均可以成功登录至目标程序***的应用场景。
进一步的,终端存储用户密码执行上述S202的步骤时,如图4所示,终端可以具体执行步骤:
S301,采用预设算法对用户密码进行加密,得到加密后的用户密码。
在一种应用场景中,为了考虑登录应用页面的安全性问题,底层数据库中存储的用户密码实际为加密后的用户密码,因此,当终端执行S202的步骤,以及将用户密码存储至底层数据库之前,终端需要采用预设算法对用户密码进行加密,得到加密后的用户密码。其中预设算法可以是现有的任何可以对数据进行加密的算法,也可以是程序人员自主研发的加密算法,此处不限定。
S302,将加密后的用户密码存储至底层数据库中。
本实施例中,当终端得到加密后的用户密码,即可将该加密后的用户密码与对应的用户名一起存储至底层数据库中,以便下次持有该用户密码的用户登录目标程序***的应用页面时使用。
上述实施例所述的方法,通过对用户密码进行加密后存储,避免非法用户从底层数据库中盗取密码伪造合法用户执行非法登录操作,进而保障了目标程序***被使用的安全性。
进一步的,终端在对用户密码进行验证执行上述S201的步骤时,如图5所示,可以具体执行步骤:
S401,采用预设算法对用户密码进行加密,得到加密后的用户密码。
本实施例涉及终端对目标用户进行身份验证的一种方式,即终端在获取到目标用户的用户密码时,可以进一步的采用预设算法对用户密码进行加密,得到加密后的用户密码。需要说明的是,该实施例使用到的预设算法与图4实施例存储用户密码时使用到的预设算法为相同的加密算法。
S402,判断底层数据库中用户名对应的密码与加密后的用户密码是否一致,若一致,则执行步骤S403,若不一致,则执行步骤S404。
本实施例中,当终端对用户密码进行加密,得到加密后的用户密码时,可以判断底层数据库中存储的用户名对应的加密后的用户密码与当前经过加密后的用户密码是否一致,若一致,说明该用户名对应的目标用户为合法登录用户,终端允许该目标用户登录应用页面;若不一致,说明该用户名对应的目标用户为非法登录用户,或者该目标用户的用户密码错误,终端不允许该目标用户登录应用页面。
S403,确定用户密码验证通过。
本实施例涉及终端确定底层数据库中存储的用户名对应的密码与当前经过加密后的用户密码一致的情况,此情况下,确定用户密码验证通过,之后可以执行登录应用页面的操作。
S404,确定用户密码验证失败。
本实施例涉及终端确定底层数据库中存储的用户名对应的密码与当前经过加密后的用户密码不一致的情况,此情况下,确定用户密码验证失败,之后可以弹出登录失败消息,以告知目标用户重新登录,或不能登录。
上述实施例所述的方法中,通过对用户密码进行加密后验证,以匹配底层数据库中加密后的用户密码,且在匹配底层数据库中加密后的用户密码时,并不需要解密流程,在保障了目标程序***被使用安全性的同时还可以简化验证用户身份的流程,提高了用户验证过程的速度,进而提高了用户登录目标程序***的效率。
在一个实施例中,提供了上述S102的一种实现方式,如图6所示,上述S102“根据第三方登录操作获取目标用户的登录信息”,包括:
S501,获取第三方登录操作对应的第三方应用的配置参数。
其中,第三方应用的配置参数为终端对接第三方应用平台时所需的一系列硬件和软件的配置参数。本实施例中,终端可以预先获取第三方应用的配置参数,可选的,终端也可以获取到第三方登录操作时,进一步的获取第三方应用的配置参数。在获取配置参数的过程中,终端可以通过Oauth2模块从第三方应用平台上获取第三方应用的配置参数进行全局配置。
S502,根据配置参数生成跳转链接。
其中,跳转链接用于指示终端从当前应用页面跳转至第三方应用的登录页面,或者使终端在当前应用页面上弹出第三方应用的登录页面,跳转链接具体用于指示第三方应用的登录页面的地址。本实施例中,当终端获取到配置参数且将配置参数配置好后,在获取到第三方登录操作时,即可自动根据配置好的配置参数生成跳转链接。
S503,根据跳转链接跳转至第三方应用的登录页面,并基于第三方应用的登录页面获取目标用户的登录信息。
本实施例中,当终端生成跳转链接的同时,基于跳转链接指示的地址跳转至第三方应用的登录页面。此时,终端的显示界面上显示第三方应用的登录页面,且该登录页面上包括登录信息的输入窗口和确认登录按钮,目标用户即可在输入窗口中输入自己的登录信息,并点击确认登录按钮触发目标用户的第三方登录操作。当终端获取到目标用户在第三方应用的登录页面上的第三方登录操作时,即可从第三方应用平台上去获取目标用户的登录信息。
上述实施例所述的方法,通过配置参数即可完成目标程序***的当前应用页面与第三方应用的登录页面之间的切换流程,不需要手动输入页面地址信进行第三方应用的登录页面的切换,提高了用户登录应用页面的效率和体验度。
进一步的,终端获取目标用户的登录信息执行S503步骤时,如图7所示,可以具体执行步骤:
S601,基于第三方应用的登录页面获取目标用户输入的登录操作信息,并向第三方应用平台发送携带登录操作信息的登录请求。
其中,登录操作信息包括目标用户在第三方应用的登录页面上的登录窗口中输入的信息,比如,用户名、用户手机号码、用户邮箱、用户密码、用户身份信息等。
本实施例中,当终端的显示界面上显示出第三方应用的登录页面时,目标用户即可在输入窗口中输入自己的登录操作信息,终端获取到目标用户输入的登录操作信息时,可以生成携带登录操作信息的登录请求,并向第三方应用平台发送登录请求。在实际应用中,终端在向第三方应用平台发送登录请求的过程中,终端还会根据配置参数生成回调链接,并根据该回调链接从第三方应用的登录界面跳转回目标程序***的应用页面,若后期终端允许目标用户登录应用页面后,目标用户即可基于该应用页面进行相应的资源访问操作。回调链接用于将第三方应用的登录界面切换到目标程序***的应用页面。
S602,接收第三方应用平台对登录操作信息进行验证通过后返回的目标用户的登录信息。
当第三方应用平台接收到终端发送的登录请求时,可以从中提取出登录操作信息,并对该登录操作信息进行验证,以验证该目标用户是否为第三方应用平台上已经注册过的用户,若该目标用户为已经注册过的用户,则确定验证通过,并从该目标用户的相关信息库中提取目标用户的登录信息,并将提取出的目标用户的登录信息返回至终端,以便终端根据目标用户的登录信息登录当前的应用页面。
上述实施例所述的方法,使终端从第三方应用平台上获取到的目标用户的登录信息是经过验证后的登录信息,在一定程度上也保障了目标程序***被使用的安全性。
综合上述所有实施例,本申请还提供了一种单点登录方法,如图8所示,该方法包括:
S701,基于OpenStack程序***的应用页面获取第三方登录操作。
S702,获取第三方登录操作对应的第三方应用的配置参数。
S703,根据配置参数生成跳转链接。
S704,根据跳转链接跳转至第三方应用的登录页面,并基于第三方应用的登录页面获取用户输入的登录操作信息,并向第三方应用平台发送携带登录操作信息的登录请求。
S705,接收第三方应用平台对登录操作信息进行验证通过后返回的目标用户的登录信息,登录信息至少包括目标用户的用户名和用户密码。
S706,查询OpenStack程序***中的Keystone服务模块中的底层数据库的第三方列表中是否存在用户名,得到查询结果,若查询结果表示第三方列表中存在用户名,则执行步骤S707-S710,若查询结果表示第三方列表中不存在用户名,则执行步骤S711-S713。
S707,采用预设算法对用户密码进行加密,得到加密后的用户密码。
S708,判断Keystone服务模块中的底层数据库中用户名对应的用户密码与加密后的用户密码是否一致,若一致,则执行步骤S709,若不一致,则执行步骤S710。
S709,确定用户密码验证通过,登录应用页面。
S710,确定用户密码验证失败。
S711,在第三方列表中添加用户名,并登录应用页面。
S712,采用预设算法对用户密码进行加密,得到加密后的用户密码。
S713,将加密后的用户密码存储至Keystone服务模块中的底层数据库中。
上述实施例所述的单点登录方法通过在OpenStack程序***中的Keystone服务模块的底层数据库中建立第三方列表记录已绑定的用户名,使第三方的用户想要登录OpenStack程序***时,可以直接通过查询第三方列表记录即可登录OpenStack程序***的应用页面,实现了基于OpenStack程序***的第三方单点登录,解决了现有的OpenStack程序***中的Keystone服务模块提供的Fedration功能无法应用在第三方单点登录场景中的问题,扩大了OpenStack程序***的应用范围。
应该理解的是,虽然图2-8的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-8中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图9所示,提供了一种单点登录装置,包括:
第一获取模块11,用于基于所述目标程序***的应用页面获取第三方登录操作;
第二获取模块12,用于根据所述第三方登录操作获取目标用户的登录信息;所述登录信息至少包括所述目标用户的用户名和用户密码;
查询模块13,用于查询底层数据库的第三方列表中是否存在所述用户名,得到查询结果;
登录模块14,用于根据所述查询结果登录所述应用页面。
在一个实施例中,如图10所示,上述登录模块14,包括:
第一登录单元141,用于在所述查询结果表示所述第三方列表中存在所述用户名的情况下,对所述用户密码进行验证,并在验证通过的情况下,登录所述应用页面
第二登录单元142,用于在所述查询结果表示所述第三方列表中不存在所述用户名的情况下,在所述第三方列表中添加所述用户名,并登录所述应用页面,以及将所述用户名和所述用户密码存储至所述底层数据库中。
在一个实施例中,如图11所示,上述第二登录单元142,包括:
第一加密子单元1421,用于采用预设算法对所述用户密码进行加密,得到加密后的用户密码;
存储子单元1422,用于将所述加密后的用户密码存储至所述底层数据库中。
在一个实施例中,如图12所示,上述第一登录单元141,包括:
第二加密子单元1411,用于采用预设算法对所述用户密码进行加密,得到加密后的用户密码;
判断子单元1412,用于判断所述底层数据库中所述用户名对应的密码与所述加密后的用户密码是否一致,若一致,则确定所述用户密码验证通过;若不一致,则确定所述用户密码验证失败。
在一个实施例中,如图13所示,上述第二获取模块12,包括:
第一获取单元121,用于获取所述第三方登录操作对应的第三方应用的配置参数;
生成单元122,用于根据所述配置参数生成跳转链接;
第二获取单元123,用于根据所述跳转链接跳转至所述第三方应用的登录页面,并基于所述第三方应用的登录页面获取所述目标用户的登录信息。
在一个实施例中,如图14所示,上述第二获取单元123,包括:
获取子单元1231,用于基于所述第三方应用的登录页面获取用户输入的登录操作信息,并向第三方应用平台发送携带所述登录操作信息的登录请求;
接收子单元1232,用于接收所述第三方应用平台对所述登录操作信息进行验证通过后返回的所述目标用户的登录信息。
在一个实施例中,所述目标程序***为OpenStack程序***。
关于单点登录装置的具体限定可以参见上文中对于单点登录方法的限定,在此不再赘述。上述单点登录装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图15所示。该计算机设备包括通过***总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作***和计算机程序。该内存储器为非易失性存储介质中的操作***和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、运营商网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种单点登录方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图15中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
基于所述目标程序***的应用页面获取第三方登录操作;
根据所述第三方登录操作获取目标用户的登录信息;所述登录信息至少包括所述目标用户的用户名和用户密码:
查询底层数据库的第三方列表中是否存在所述用户名,得到查询结果;
根据所述查询结果登录所述应用页面。
上述实施例提供的一种计算机设备,其实现原理和技术效果与上述方法实施例类似,在此不再赘述。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
基于所述目标程序***的应用页面获取第三方登录操作;
根据所述第三方登录操作获取目标用户的登录信息;所述登录信息至少包括所述目标用户的用户名和用户密码:
查询底层数据库的第三方列表中是否存在所述用户名,得到查询结果;
根据所述查询结果登录所述应用页面。
上述实施例提供的一种计算机可读存储介质,其实现原理和技术效果与上述方法实施例类似,在此不再赘述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (10)

1.一种单点登录方法,其特征在于,所述方法应用于目标程序***,所述方法包括:
基于所述目标程序***的应用页面获取第三方登录操作;其中,所述第三方登录操作是指用户在所述目标程序***的应用页面上点击第三方登录按钮或控件的操作,所述第三方为与安装所述目标程序***的终端对接的任一平台;
根据所述第三方登录操作获取目标用户的登录信息;所述登录信息至少包括所述目标用户的用户名和用户密码;
查询底层数据库的第三方列表中是否存在所述用户名,得到查询结果;
根据所述查询结果登录所述应用页面。
2.根据权利要求1所述的方法,其特征在于,所述根据所述查询结果登录所述应用页面,包括:
若所述查询结果表示所述第三方列表中存在所述用户名,则对所述用户密码进行验证,并在验证通过的情况下,登录所述应用页面;
若所述查询结果表示所述第三方列表中不存在所述用户名,则在所述第三方列表中添加所述用户名,并登录所述应用页面,以及将所述用户名和所述用户密码存储至所述底层数据库中。
3.根据权利要求2所述的方法,其特征在于,所述将所述用户密码存储至所述底层数据库中,包括:
采用预设算法对所述用户密码进行加密,得到加密后的用户密码;
将所述加密后的用户密码存储至所述底层数据库中。
4.根据权利要求2所述的方法,其特征在于,所述对所述用户密码进行验证,包括:
采用预设算法对所述用户密码进行加密,得到加密后的用户密码;
判断所述底层数据库中所述用户名对应的密码与所述加密后的用户密码是否一致,若一致,则确定所述用户密码验证通过;若不一致,则确定所述用户密码验证失败。
5.根据权利要求1所述的方法,其特征在于,所述根据所述第三方登录操作获取目标用户的登录信息,包括:
获取所述第三方登录操作对应的第三方应用的配置参数;
根据所述配置参数生成跳转链接;
根据所述跳转链接跳转至所述第三方应用的登录页面,并基于所述第三方应用的登录页面获取所述目标用户的登录信息。
6.根据权利要求5所述的方法,其特征在于,所述基于所述第三方应用的登录页面获取所述目标用户的登录信息,包括:
基于所述第三方应用的登录页面获取目标用户输入的登录操作信息,并向第三方应用平台发送携带所述登录操作信息的登录请求;
接收所述第三方应用平台对所述登录操作信息进行验证通过后返回的所述目标用户的登录信息。
7.根据权利要求1-6任一项所述的方法,其特征在于,所述目标程序***为OpenStack程序***。
8.一种单点登录装置,其特征在于,所述装置包括:
第一获取模块,用于基于所述目标程序***的应用页面获取第三方登录操作;其中,所述第三方登录操作是指用户在所述目标程序***的应用页面上点击第三方登录按钮或控件的操作,所述第三方为与安装所述目标程序***的终端对接的任一平台;
第二获取模块,用于根据所述第三方登录操作获取目标用户的登录信息;所述登录信息至少包括所述目标用户的用户名和用户密码;
查询模块,用于查询底层数据库的第三方列表中是否存在所述用户名,得到查询结果;
登录模块,用于根据所述查询结果登录所述应用页面。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
CN202110516556.6A 2021-05-12 2021-05-12 单点登录方法、装置、计算机设备和存储介质 Active CN113297559B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110516556.6A CN113297559B (zh) 2021-05-12 2021-05-12 单点登录方法、装置、计算机设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110516556.6A CN113297559B (zh) 2021-05-12 2021-05-12 单点登录方法、装置、计算机设备和存储介质

Publications (2)

Publication Number Publication Date
CN113297559A CN113297559A (zh) 2021-08-24
CN113297559B true CN113297559B (zh) 2023-01-06

Family

ID=77321485

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110516556.6A Active CN113297559B (zh) 2021-05-12 2021-05-12 单点登录方法、装置、计算机设备和存储介质

Country Status (1)

Country Link
CN (1) CN113297559B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114301717B (zh) * 2022-03-08 2022-07-05 苏州万店掌网络科技有限公司 一种单点登录方法、装置、设备、存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109063457A (zh) * 2018-06-22 2018-12-21 杭州才云科技有限公司 一种跨平台登录统一认证对接方法、存储介质、电子设备
CN109492374A (zh) * 2018-09-26 2019-03-19 平安医疗健康管理股份有限公司 基于身份验证的***登录方法、装置、服务器及存储介质
CN110009295A (zh) * 2019-02-11 2019-07-12 中国石油天然气集团有限公司 一种基于私有云的企业管理信息化体系构建方法
CN110581863A (zh) * 2019-10-25 2019-12-17 北京浪潮数据技术有限公司 一种云平台的单点登录方法、装置、设备及介质
CN111310158A (zh) * 2020-02-14 2020-06-19 苏州浪潮智能科技有限公司 基于url跳转的第三方***登录实现方法、装置、设备和介质
CN111614676A (zh) * 2020-05-21 2020-09-01 深圳追一科技有限公司 一种登录方法、装置、设备、介质

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109062619B (zh) * 2018-07-19 2021-06-29 郑州云海信息技术有限公司 第三方存储设备统一管理方法、***、装置及存储介质
CN110809017B (zh) * 2019-08-16 2022-02-25 云南电网有限责任公司玉溪供电局 一种基于云平台和微服务构架的数据分析应用平台***
CN110830463B (zh) * 2019-10-30 2021-08-31 腾讯科技(深圳)有限公司 第三方授权登录方法和装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109063457A (zh) * 2018-06-22 2018-12-21 杭州才云科技有限公司 一种跨平台登录统一认证对接方法、存储介质、电子设备
CN109492374A (zh) * 2018-09-26 2019-03-19 平安医疗健康管理股份有限公司 基于身份验证的***登录方法、装置、服务器及存储介质
CN110009295A (zh) * 2019-02-11 2019-07-12 中国石油天然气集团有限公司 一种基于私有云的企业管理信息化体系构建方法
CN110581863A (zh) * 2019-10-25 2019-12-17 北京浪潮数据技术有限公司 一种云平台的单点登录方法、装置、设备及介质
CN111310158A (zh) * 2020-02-14 2020-06-19 苏州浪潮智能科技有限公司 基于url跳转的第三方***登录实现方法、装置、设备和介质
CN111614676A (zh) * 2020-05-21 2020-09-01 深圳追一科技有限公司 一种登录方法、装置、设备、介质

Also Published As

Publication number Publication date
CN113297559A (zh) 2021-08-24

Similar Documents

Publication Publication Date Title
WO2019184135A1 (zh) 一种应用登录方法、装置、计算机设备及存储介质
US9401909B2 (en) System for and method of providing single sign-on (SSO) capability in an application publishing environment
US9867043B2 (en) Secure device service enrollment
CN113196702A (zh) 使用区块链进行分布式数据存储和传送的***和方法
US11546321B2 (en) Non-custodial tool for building decentralized computer applications
US20180091487A1 (en) Electronic device, server and communication system for securely transmitting information
CN110574350B (zh) 执行优先生成第二因素认证的方法和***
US20160080492A1 (en) System, computer product, and method for implementing a cloud service with private storage
US20170244692A1 (en) Authentication of a user using a security device
CN113553572A (zh) 资源信息获取方法、装置、计算机设备和存储介质
CN115022091B (zh) 一种基于数字证书的自主授权方法和***
CN111901304B (zh) 移动安全设备的注册方法和装置、存储介质、电子装置
CN113297559B (zh) 单点登录方法、装置、计算机设备和存储介质
CN113411284A (zh) 账号绑定方法、装置、计算机设备和存储介质
JP4998314B2 (ja) 通信制御方法および通信制御プログラム
CN114448722B (zh) 跨浏览器登录方法、装置、计算机设备和存储介质
CN111628985A (zh) 安全访问控制方法、装置、计算机设备和存储介质
WO2022206203A1 (en) Connection resilient multi-factor authentication
CN112543194B (zh) 移动终端登录方法、装置、计算机设备和存储介质
CN112464259B (zh) Erp页面获取方法、装置、计算机设备和存储介质
JP4350046B2 (ja) サービス提供システム、サービス利用装置、サービス調停装置、およびサービス提供装置
TWI441534B (zh) 行動通訊裝置的資料傳輸方法及其系統
CN112260997A (zh) 数据访问方法、装置、计算机设备和存储介质
CN111740980B (zh) 登录应用的方法、装置、移动终端和存储介质
CN109558451B (zh) 一种数据管理方法及***、存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant