CN115001805B - 单点登录方法、装置、设备及存储介质 - Google Patents

单点登录方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN115001805B
CN115001805B CN202210604464.8A CN202210604464A CN115001805B CN 115001805 B CN115001805 B CN 115001805B CN 202210604464 A CN202210604464 A CN 202210604464A CN 115001805 B CN115001805 B CN 115001805B
Authority
CN
China
Prior art keywords
login
single sign
application system
login information
request
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
CN202210604464.8A
Other languages
English (en)
Other versions
CN115001805A (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.)
Ping An Property and Casualty Insurance Company of China Ltd
Original Assignee
Ping An Property and Casualty Insurance Company of China 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 Ping An Property and Casualty Insurance Company of China Ltd filed Critical Ping An Property and Casualty Insurance Company of China Ltd
Priority to CN202210604464.8A priority Critical patent/CN115001805B/zh
Publication of CN115001805A publication Critical patent/CN115001805A/zh
Application granted granted Critical
Publication of CN115001805B publication Critical patent/CN115001805B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0815Network architectures or network communication protocols for network security for authentication of entities providing single-sign-on or federations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0807Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明涉及计算机领域,揭露一种单点登录方法,包括:接收用户发出的应用***在单点登录***的登录请求,解析登录请求中的登录信息;判断在预设的浏览器缓存文件中是否存在登录信息;若存在登录信息,验证登录信息,在验证成功时,登录单点登录***,得到登录结果;若不存在登录信息,获取应用***的更新登录标识,并将更新登录标识存储至浏览器缓存文件中,得到更新浏览器缓存文件;调用登录请求的应用***地址,并将更新浏览器缓存文件加载至应用***地址中,登录单点登录***,得到登录结果。本发明还涉及一种区块链技术,登录信息可存储在区块链节点中。本发明还提出一种单点登录装置、设备以及介质。本发明可以提高单点登录的效率。

Description

单点登录方法、装置、设备及存储介质
技术领域
本发明涉及计算机领域,尤其涉及一种单点登录方法、装置、电子设备及计算机可读存储介质。
背景技术
当前,随着互联网行业的快速发展,web技术得到了越来越多的应用,web应用***也随之建立,通常一个企业内部会存在多个web应用***,且每个web应用***都需要进行该***的一次登录,应用***之间不兼容,可以通过单点登录技术整合企业内部的多个web应用***,单点登录是指用户只需要登录一次,就可以访问权限范围内的所有web应用***,无须重复登录。
但是,在单点登录实现过程中,通常是通过将账户认证信息储存在浏览器缓存文件(cookie)内,并在具有相同域名的web***在发起后端请求时,用户需采用测试线或者生产线进行登录,并通过将登录标识cookie复制到本地开发页面完成模拟登录,由于单点登录在实现过程中涉及过多的人工操作,使得单点登录实现的过程耗时较长,导致单点登录实现的效率较低。
发明内容
本发明提供一种单点登录方法、装置、电子设备及计算机可读存储介质,其主要目的是提高单点登录的效率。
为实现上述目的,本发明提供的一种单点登录方法,包括:
接收用户发出的应用***在单点登录***的登录请求,解析所述登录请求中的登录信息;
判断在预设的浏览器缓存文件中是否存在所述登录信息;
若所述浏览器缓存文件中存在所述登录请求的登录信息,验证所述登录信息,在所述验证成功时,执行在所述单点登录***中的登录请求,得到所述应用***的登录结果;
若所述浏览器缓存文件中不存在所述登录请求的登录信息,获取所述应用***的更新登录标识,并将所述更新登录标识存储至所述浏览器缓存文件中,得到更新浏览器缓存文件;
利用预设接口调用所述登录请求的应用***地址,并利用所述预设接口将所述更新浏览器缓存文件加载至所述应用***地址中,以执行在所述单点登录***中的登录请求,得到所述应用***的登录结果。
可选地,所述解析所述登录请求中的登录信息,包括:
获取所述登录请求的请求类型,根据所述请求类型查询登录标识;
识别所述登录请求中的登录参数;
根据所述登录标识和所述登录参数,生成登录信息。
可选地,所述验证所述登录信息,包括:
获取所述登录信息的登录令牌及所述浏览器缓存文件中认证中心包含的令牌库;
判断所述登录令牌是否存在于所述令牌库;
若所述登录令牌不存在于所述令牌库中,则所述登录信息验证不通过;
若所述登录令牌存在于所述令牌库中,则所述登录信息验证通过。
可选地,所述执行在所述单点登录***中的登录请求,得到所述应用***的登录结果,包括:
提取所述更新浏览器缓存文件的更新登录信息;
验证所述更新登录信息,在所述验证成功时,通过所述登录请求登录所述单点登录***,得到所述应用***的登录结果。
可选地,所述验证所述更新登录信息,包括:
获取所述更新登录信息的数字签名,并验证所述数字签名与预设公钥是否匹配;
若所述数字签名与所述预设公钥不匹配,确定所述更新登录信息验证不通过;
若所述数字签名与所述预设公钥匹配,确定所述更新登录信息验证通过。
可选地,所述在所述验证成功时,执行在所述单点登录***中的登录请求,得到所述应用***的登录结果,包括:
在所述验证成功时,获取所述单点登录***的连接接口;
利用所述连接接口调用所述应用***中的登录信息,并根据所述登录信息登录所述单点登录***,得到所述应用***的登录结果。
可选地,所述获取所述应用***的更新登录标识,包括:
获取测试环境下的测试浏览器缓存文件,从所述测试浏览器缓存文件中获取所述应用***的在所述测试环境下进行登录的测试登录信息,并将所述测试登录信息作为更新登录标识。
为了解决上述问题,本发明还提供一种单点登录装置,所述装置包括:
登录信息解析模块,用于接收用户发出的应用***在单点登录***的登录请求,解析所述登录请求中的登录信息;
登录信息判断模块,用于判断在预设的浏览器缓存文件中是否存在所述登录信息;
第一登录模块,用于若所述浏览器缓存文件中存在所述登录请求的登录信息,验证所述登录信息,在所述验证成功时,执行在所述单点登录***中的登录请求,得到所述应用***的登录结果;
登录标识存储模块,用于若所述浏览器缓存文件中不存在所述登录请求的登录信息,获取所述应用***的更新登录标识,并将所述更新登录标识存储至所述浏览器缓存文件中,得到更新浏览器缓存文件;
第二登录模块,用于利用预设接口调用所述登录请求的应用***地址,并利用所述预设接口将所述更新浏览器缓存文件加载至所述应用***地址中,以执行在所述单点登录***中的登录请求,得到所述应用***的登录结果。
为了解决上述问题,本发明还提供一种电子设备,所述电子设备包括:
存储器,存储至少一个计算机程序;及
处理器,执行所述存储器中存储的计算机程序以实现上述所述的单点登录方法。
为了解决上述问题,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一个计算机程序,所述至少一个计算机程序被电子设备中的处理器执行以实现上述所述的单点登录方法。
本发明实施例中,首先通过接收用户发出的应用***在单点登录***的登录请求,解析所述登录请求中的登录信息,并判断在预设的浏览器缓存文件中是否存在所述登录信息,可以查询该登录信息是否存在于单点登录***上,并进一步判断应用***是否为跨域***;其次,若所述浏览器缓存文件中存在登录信息,则验证所述登录信息,在所述验证成功时,执行在所述单点登录***中的登录请求,得到所述应用***的登录结果,可以利用验证通过的登录信息登录所述单点登录***,避免通过人工进行登录信息的验证,提高了单点登录的效率,进一步,本发明实施例若所述浏览器缓存文件中不存在所述登录请求的登录信息,获取所述应用***的更新登录标识,并将所述更新登录标识存储至所述浏览器缓存文件中,得到更新浏览器缓存文件,可以通过提取更新登录标识以将登录信息进行存储,便于后续实现跨域的应用***进行登录;最后,通过利用预设接口调用所述登录请求的应用***地址,并利用所述预设接口将所述更新浏览器缓存文件加载至所述应用***地址中,以执行在所述单点登录***中的登录请求,得到所述应用***的登录结果,可以实现跨域的单点登录***的登录,提高单点登录的效率。因此本发明实施例提出的单点登录方法、装置、电子设备及可存储介质可以提高单点登录的效率。
附图说明
图1为本发明一实施例提供的单点登录方法的流程示意图;
图2为本发明一实施例提供的单点登录装置的模块示意图;
图3为本发明一实施例提供的实现单点登录方法的电子设备的内部结构示意图;
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例提供一种单点登录方法。所述单点登录方法的执行主体包括但不限于服务端、终端等能够被配置为执行本申请实施例提供的该方法的电子设备中的至少一种。换言之,所述单点登录方法可以由安装在终端设备或服务端设备的软件或硬件来执行,所述软件可以是区块链平台。所述服务端包括但不限于:单台服务器、服务器集群、云端服务器或云端服务器集群等。
参照图1所示的本发明一实施例提供的单点登录方法的流程示意图,在本发明实施例中,所述单点登录方法包括:
S1、接收用户发出的应用***在单点登录***的登录请求,解析所述登录请求中的登录信息。
本发明实施例中,所述应用***是指多个业务***,比如,业务***A、业务***B及业务***C都为某个企业***中的应用***;所述单点登录***是指将多个业务***整合后的***,比如,通过整合业务***A、业务***B及业务***C得到单点登录***(sso***)。
进一步地,本发明实施例通过获取多个业务***的名称和IP地址,并通过预设的服务器(如CasServer)调用多个业务***的名称和IP地址,以实现该服务器与多个业务***的连接,进一步通过在预设的文档(如web.xml)中配置的过滤器,从本地线程中绑定多个业务***中的用户,并通过预设的开发框架(如Spring框架)与上述服务器链接实现多个业务***的整合,得到单点登录***。
本发明实施例中,所述登录请求是指用户在应用***中发出的登录所述单点登录***的请求,所述登录信息是指在本地环境下应用***登录过单点登录***的信息,其中,所述登录信息包括登录标识和所述登录参数,通过接收用户发出的应用***在单点登录***的登录请求,解析所述登录请求中的登录信息,可以获取应用***的***登录信息,便于后续进行单点登录***的登录。
作为本发明一个实施例,所述解析所述登录请求中的登录信息,包括:
获取所述登录请求的请求类型,根据所述请求类型查询登录标识;
识别所述登录请求中的登录参数;
根据所述登录标识和所述登录参数,生成登录信息。
其中,所述请求类型是指应用***的***请求类型,比如应用***的登录认证请求;所述登录标识是所述应用***的进行登录的唯一标识,主要作用是表征所述应用***的身份,其中,所述登录标识可以通过预设的注册中心(如zookeeper)进行查询。
本发明一实施例中,所述登录参数可以包括但不限于应用***的账号密码、登录时间及登录状态等。
S2、判断在预设的浏览器缓存文件中是否存在所述登录信息。
本发明实施例中,所述预设的浏览器缓存文件是指存储登录信息的文件,也称作cookie,且该文件可以是服务器写给客户端的文件,通过判断在预设的浏览器缓存文件中是否存在所述登录信息,可以查询应用***的登录信息是否存在于单点登录***上,并进一步判断应用***是否登录过单点登录***,从而识别该应用***是否为跨域***,便于后续实现在本地环境下应用***进行单点登录***的登录,其中,所述跨域***是指不同域的业务***,例如,本地域的业务***A和其他域的业务***B。
作为本发明一个实施例,所述判断在预设的浏览器缓存文件中是否存在所述登录信息,包括:
查询在所述浏览器缓存文件中是否存在所述应用***的登录标识和登录参数;
若所述浏览器缓存文件中存在所述应用***的登录标识和登录参数,则在所述浏览器文件中存在所述登录信息;
若所述浏览器缓存文件中不存在所述应用***的登录标识和登录参数,则在所述浏览器文件中不存在所述登录信息。
其中,在本地环境下,若是应用***登录过单点登录***,则cookie中存在该应用***的登录信息。
S3、若所述浏览器缓存文件中存在所述登录请求的登录信息,验证所述登录信息,在所述验证成功时,执行在所述单点登录***中的登录请求,得到所述应用***的登录结果。
本发明实施例中,在所述浏览器缓存文件中存在所述登录请求的登录信息时,表示所述应用***登录过所述单点登录***,所以cookie中存在该应用***的登录信息,因此,本发明实施例中,通过验证所述登录信息,在所述验证成功时,执行在所述单点登录***中的登录请求,得到所述应用***的登录结果,可以利用验证通过的登录信息登录所述单点登录***,避免通过人工进行登录信息的验证,提高了单点登录的效率。
作为本发明的一个实施例,所述验证所述登录信息,包括:
获取所述登录信息的登录令牌及所述浏览器缓存文件中认证中心包含的令牌库;
判断所述登录令牌是否存在于所述令牌库;
若所述登录令牌不存在于所述令牌库中,则所述登录信息验证不通过;
若所述登录令牌存在于所述令牌库中,则所述登录信息验证通过。
其中,所述登录令牌可以看作应用***的身份标识,通过cookie的认证中心可以验证身份标识是否是单点登录***中整合的应用***之一,可以避免其他***的攻击。
进一步地,所述在所述验证成功时,执行在所述单点登录***中的登录请求,得到所述应用***的登录结果,包括:
在所述验证成功时,获取所述单点登录***的连接接口;
利用所述连接接口调用所述应用***中的登录信息,并根据所述登录信息登录所述单点登录***,得到所述应用***的登录结果。
其中,所述连接接口主要作用是直接实现应用***与单点登录***的连接,可以通过该接接口直接获取登录信息,实现所述应用***的成功登录。
本发明另一实施例中,在所述应用***登录成功时,会将该应用***的登录信息存储于cookie中,便于后续该应用***再登录时,可以直接从cookie中提取该登录信息以登录单点登录***。
S4、若所述浏览器缓存文件中不存在所述登录请求的登录信息,获取所述应用***的更新登录标识,并将所述更新登录标识存储至所述浏览器缓存文件中,得到更新浏览器缓存文件。
本发明实施例中,在所述浏览器缓存文件中不存在所述登录请求的登录信息时,表示所述应用***是跨域***,无法进行单点登录***的登录,因此,通过获取所述应用***的更新登录标识,并将所述更新登录标识存储至所述浏览器缓存文件中,得到更新浏览器缓存文件,可以通过提取应用***的更新登录标识,实现将该应用***的登录信息存储于浏览器缓存文件中。
本发明实施例中,所述更新登录标识可以从测试环境中获取,即当识别到所述应用***为跨域***时,则通过开发人员在测试环境下对应用***的单点登录,从而获取到测试环境下的登录标识。
作为本发明一个实施例,所述获取所述应用***的更新登录标识,包括:
获取测试环境下的测试浏览器缓存文件,从所述测试浏览器缓存文件中获取所述应用***的在所述测试环境下进行登录的测试登录信息,并将所述测试登录信息作为更新登录标识。
其中,所述测试环境是指用户新开发的环境,主要作用是存储测试浏览器缓存文件。
本发明实施例中,由于在所述浏览器缓存文件中不存在所述登录请求的登录信息说明该应用***是跨域***,所以本地环境中没有cookie,需要到测试环境下提取测试ookie,并从测试cookie中获取登录信息。
进一步地,本发明实施例通过将所述更新登录标识存储至所述浏览器缓存文件中,得到更新浏览器缓存文件,可以便于后续实现跨域的应用***在单点登录***上的登录,提高单点登录的效率。
S5、利用预设接口调用所述登录请求的应用***地址,并利用所述预设接口将所述更新浏览器缓存文件加载至所述应用***地址中,以执行在所述单点登录***中的登录请求,得到所述应用***的登录结果。
本发明实施例中,所述应用***地址即为该应用***的URL地址,通过利用预设接口调用所述登录请求的应用***地址,并利用所述预设接口将所述更新浏览器缓存文件加载至所述应用***地址中,以执行在所述单点登录***中的登录请求,得到所述应用***的登录结果,可以实现将更新浏览器缓存文件***至应用***页面,实现跨域的单点登录***登录,提高单点登录***的效率。
本发明实施例中,所述预设接口可以为chrome.tabs.getSelected API。
作为本发明的一个实施例,所述执行在所述单点登录***中的登录请求,得到所述应用***的登录结果,包括:
提取所述更新浏览器缓存文件的更新登录信息;
验证所述更新登录信息,在所述验证成功时,通过所述登录请求登录所述单点登录***,得到所述应用***的登录结果。
进一步地,所述验证所述更新登录信息,包括:
获取所述更新登录信息的数字签名,并验证所述数字签名与预设公钥是否匹配;
若所述数字签名与所述预设公钥不匹配,确定所述更新登录信息验证不通过;
若所述数字签名与所述预设公钥匹配,确定所述更新登录信息验证通过。
其中,所述数字签名是指更新登录信息的加密文字,主要用于验证更新登录信息对应的应用***的身份合法性;所述预设公钥的作用是单点登录***通过该预设公钥可以对更新登录信息进行解密,便于后续单点登录***的登录。
本发明实施例中,首先通过接收用户发出的应用***在单点登录***的登录请求,解析所述登录请求中的登录信息,并判断在预设的浏览器缓存文件中是否存在所述登录信息,可以查询该登录信息是否存在于单点登录***上,并进一步判断应用***是否为跨域***;其次,若所述浏览器缓存文件中存在登录信息,则验证所述登录信息,在所述验证成功时,执行在所述单点登录***中的登录请求,得到所述应用***的登录结果,可以利用验证通过的登录信息登录所述单点登录***,避免通过人工进行登录信息的验证,提高了单点登录的效率,进一步,本发明实施例若所述浏览器缓存文件中不存在所述登录请求的登录信息,获取所述应用***的更新登录标识,并将所述更新登录标识存储至所述浏览器缓存文件中,得到更新浏览器缓存文件,可以通过提取更新登录标识以将登录信息进行存储,便于后续实现跨域的应用***进行登录;最后,通过利用预设接口调用所述登录请求的应用***地址,并利用所述预设接口将所述更新浏览器缓存文件加载至所述应用***地址中,以执行在所述单点登录***中的登录请求,得到所述应用***的登录结果,可以实现跨域的单点登录***的登录,提高单点登录的效率。因此本发明实施例提出的单点登录方法可以提高单点登录的效率。
如图2所示,是本发明单点登录装置的功能模块图。
本发明所述单点登录装置100可以安装于电子设备中。根据实现的功能,所述单点登录装置可以包括登录信息解析模块101、登录信息判断模块102、第一登录模块103、登录标识存储模块104、第二登录模块105,本发所述模块也可以称之为单元,是指一种能够被电子设备处理器所执行,并且能够完成固定功能的一系列计算机程序段,其存储在电子设备的存储器中。
在本实施例中,关于各模块/单元的功能如下:
所述登录信息解析模块101,用于接收用户发出的应用***在单点登录***的登录请求,解析所述登录请求中的登录信息。
本发明实施例中,所述应用***是指多个业务***,比如,业务***A、业务***B及业务***C都为某个企业***中的应用***;所述单点登录***是指将多个业务***整合后的***,比如,通过整合业务***A、业务***B及业务***C得到单点登录***(sso***)。
进一步地,本发明实施例通过获取多个业务***的名称和IP地址,并通过预设的服务器(如CasServer)调用多个业务***的名称和IP地址,以实现该服务器与多个业务***的连接,进一步通过在预设的文档(如web.xml)中配置的过滤器,从本地线程中绑定多个业务***中的用户,并通过预设的开发框架(如Spring框架)与上述服务器链接实现多个业务***的整合,得到单点登录***。
本发明实施例中,所述登录请求是指用户在应用***中发出的登录所述单点登录***的请求,所述登录信息是指在本地环境下应用***登录过单点登录***的信息,其中,所述登录信息包括登录标识和所述登录参数,通过接收用户发出的应用***在单点登录***的登录请求,解析所述登录请求中的登录信息,可以获取应用***的***登录信息,便于后续进行单点登录***的登录。
作为本发明一个实施例,所述登录信息解析模块101通过执行下述操作解析所述登录请求中的登录信息,包括:
获取所述登录请求的请求类型,根据所述请求类型查询登录标识;
识别所述登录请求中的登录参数;
根据所述登录标识和所述登录参数,生成登录信息。
其中,所述请求类型是指应用***的***请求类型,比如应用***的登录认证请求;所述登录标识是所述应用***的进行登录的唯一标识,主要作用是表征所述应用***的身份,其中,所述登录标识可以通过预设的注册中心(如zookeeper)进行查询。
本发明一实施例中,所述登录参数可以包括但不限于应用***的账号密码、登录时间及登录状态等。
所述登录信息判断模块102,用于判断在预设的浏览器缓存文件中是否存在所述登录信息。
本发明实施例中,所述预设的浏览器缓存文件是指存储登录信息的文件,也称作cookie,且该文件可以是服务器写给客户端的文件,通过判断在预设的浏览器缓存文件中是否存在所述登录信息,可以查询应用***的登录信息是否存在于单点登录***上,并进一步判断应用***是否登录过单点登录***,从而识别该应用***是否为跨域***,便于后续实现在本地环境下应用***进行单点登录***的登录,其中,所述跨域***是指不同域的业务***,例如,本地域的业务***A和其他域的业务***B。
作为本发明一个实施例,所述判断在预设的浏览器缓存文件中是否存在所述登录信息,包括:
查询在所述浏览器缓存文件中是否存在所述应用***的登录标识和登录参数;
若所述浏览器缓存文件中存在所述应用***的登录标识和登录参数,则在所述浏览器文件中存在所述登录信息;
若所述浏览器缓存文件中不存在所述应用***的登录标识和登录参数,则在所述浏览器文件中不存在所述登录信息。
其中,在本地环境下,若是应用***登录过单点登录***,则cookie中存在该应用***的登录信息。
所述第一登录模块103,用于若所述浏览器缓存文件中存在所述登录请求的登录信息,验证所述登录信息,在所述验证成功时,执行在所述单点登录***中的登录请求,得到所述应用***的登录结果。
本发明实施例中,在所述浏览器缓存文件中存在所述登录请求的登录信息时,表示所述应用***登录过所述单点登录***,所以cookie中存在该应用***的登录信息,因此,本发明实施例中,通过验证所述登录信息,在所述验证成功时,执行在所述单点登录***中的登录请求,得到所述应用***的登录结果,可以利用验证通过的登录信息登录所述单点登录***,避免通过人工进行登录信息的验证,提高了单点登录的效率。
作为本发明的一个实施例,所述第一登录模块103通过执行下述操作验证所述登录信息,包括:
获取所述登录信息的登录令牌及所述浏览器缓存文件中认证中心包含的令牌库;
判断所述登录令牌是否存在于所述令牌库;
若所述登录令牌不存在于所述令牌库中,则所述登录信息验证不通过;
若所述登录令牌存在于所述令牌库中,则所述登录信息验证通过。
其中,所述登录令牌可以看作应用***的身份标识,通过cookie的认证中心可以验证身份标识是否是单点登录***中整合的应用***之一,可以避免其他***的攻击。
进一步地,所述第一登录模块103还可通过执行下述操作在所述验证成功时,执行在所述单点登录***中的登录请求,得到所述应用***的登录结果,包括:
在所述验证成功时,获取所述单点登录***的连接接口;
利用所述连接接口调用所述应用***中的登录信息,并根据所述登录信息登录所述单点登录***,得到所述应用***的登录结果。
其中,所述连接接口主要作用是直接实现应用***与单点登录***的连接,可以通过该接接口直接获取登录信息,实现所述应用***的成功登录。
本发明另一实施例中,在所述应用***登录成功时,会将该应用***的登录信息存储于cookie中,便于后续该应用***再登录时,可以直接从cookie中提取该登录信息以登录单点登录***。
所述登录标识存储模块104,用于若所述浏览器缓存文件中不存在所述登录请求的登录信息,获取所述应用***的更新登录标识,并将所述更新登录标识存储至所述浏览器缓存文件中,得到更新浏览器缓存文件。
本发明实施例中,在所述浏览器缓存文件中不存在所述登录请求的登录信息时,表示所述应用***是跨域***,无法进行单点登录***的登录,因此,通过获取所述应用***的更新登录标识,并将所述更新登录标识存储至所述浏览器缓存文件中,得到更新浏览器缓存文件,可以通过提取应用***的更新登录标识,实现将该应用***的登录信息存储于浏览器缓存文件中。
本发明实施例中,所述更新登录标识可以从测试环境中获取,即当识别到所述应用***为跨域***时,则通过开发人员在测试环境下对应用***的单点登录,从而获取到测试环境下的登录标识。
作为本发明一个实施例,所述登录标识存储模块104通过执行下述操作获取所述应用***的更新登录标识,包括:
获取测试环境下的测试浏览器缓存文件,从所述测试浏览器缓存文件中获取所述应用***的在所述测试环境下进行登录的测试登录信息,并将所述测试登录信息作为更新登录标识。
其中,所述测试环境是指用户新开发的环境,主要作用是存储测试浏览器缓存文件。
本发明实施例中,由于在所述浏览器缓存文件中不存在所述登录请求的登录信息说明该应用***是跨域***,所以本地环境中没有cookie,需要到测试环境下提取测试ookie,并从测试cookie中获取登录信息。
进一步地,本发明实施例通过将所述更新登录标识存储至所述浏览器缓存文件中,得到更新浏览器缓存文件,可以便于后续实现跨域的应用***在单点登录***上的登录,提高单点登录的效率。
所述第二登录模块105,用于利用预设接口调用所述登录请求的应用***地址,并利用所述预设接口将所述更新浏览器缓存文件加载至所述应用***地址中,以执行在所述单点登录***中的登录请求,得到所述应用***的登录结果。
本发明实施例中,所述应用***地址即为该应用***的URL地址,通过利用预设接口调用所述登录请求的应用***地址,并利用所述预设接口将所述更新浏览器缓存文件加载至所述应用***地址中,以执行在所述单点登录***中的登录请求,得到所述应用***的登录结果,可以实现将更新浏览器缓存文件***至应用***页面,实现跨域的单点登录***登录,提高单点登录***的效率。
本发明实施例中,所述预设接口可以为chrome.tabs.getSelected API。
作为本发明的一个实施例,所述第二登录模块105通过执行下述操作执行在所述单点登录***中的登录请求,得到所述应用***的登录结果,包括:
提取所述更新浏览器缓存文件的更新登录信息;
验证所述更新登录信息,在所述验证成功时,通过所述登录请求登录所述单点登录***,得到所述应用***的登录结果。
进一步地,所述验证所述更新登录信息,包括:
获取所述更新登录信息的数字签名,并验证所述数字签名与预设公钥是否匹配;
若所述数字签名与所述预设公钥不匹配,确定所述更新登录信息验证不通过;
若所述数字签名与所述预设公钥匹配,确定所述更新登录信息验证通过。
其中,所述数字签名是指更新登录信息的加密文字,主要用于验证更新登录信息对应的应用***的身份合法性;所述预设公钥的作用是单点登录***通过该预设公钥可以对更新登录信息进行解密,便于后续单点登录***的登录。
本发明实施例中,首先通过接收用户发出的应用***在单点登录***的登录请求,解析所述登录请求中的登录信息,并判断在预设的浏览器缓存文件中是否存在所述登录信息,可以查询该登录信息是否存在于单点登录***上,并进一步判断应用***是否为跨域***;其次,若所述浏览器缓存文件中存在登录信息,则验证所述登录信息,在所述验证成功时,执行在所述单点登录***中的登录请求,得到所述应用***的登录结果,可以利用验证通过的登录信息登录所述单点登录***,避免通过人工进行登录信息的验证,提高了单点登录的效率,进一步,本发明实施例若所述浏览器缓存文件中不存在所述登录请求的登录信息,获取所述应用***的更新登录标识,并将所述更新登录标识存储至所述浏览器缓存文件中,得到更新浏览器缓存文件,可以通过提取更新登录标识以将登录信息进行存储,便于后续实现跨域的应用***进行登录;最后,通过利用预设接口调用所述登录请求的应用***地址,并利用所述预设接口将所述更新浏览器缓存文件加载至所述应用***地址中,以执行在所述单点登录***中的登录请求,得到所述应用***的登录结果,可以实现跨域的单点登录***的登录,提高单点登录的效率。因此本发明实施例提出的单点登录装置可以提高单点登录的效率。
如图3所示,是本发明实现单点登录方法的电子设备的结构示意图。
所述电子设备可以包括处理器10、存储器11、通信总线12和通信接口13,还可以包括存储在所述存储器11中并可在所述处理器10上运行的计算机程序,如单点登录程序。
其中,所述存储器11至少包括一种类型的介质,所述介质包括闪存、移动硬盘、多媒体卡、卡型存储器(例如:SD或DX存储器等)、磁性存储器、本地磁盘、光盘等。所述存储器11在一些实施例中可以是电子设备的内部存储单元,例如该电子设备的移动硬盘。所述存储器11在另一些实施例中也可以是电子设备的外部存储设备,例如电子设备上配备的插接式移动硬盘、智能存储卡(Smart Media Card,SMC)、安全数字(Secure Digital,SD)卡、闪存卡(Flash Card)等。进一步地,所述存储器11还可以既包括电子设备的内部存储单元也包括外部存储设备。所述存储器11不仅可以用于存储安装于电子设备的应用软件及各类数据,例如单点登录程序的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
所述处理器10在一些实施例中可以由集成电路组成,例如可以由单个封装的集成电路所组成,也可以是由多个相同功能或不同功能封装的集成电路所组成,包括一个或者多个中央处理器(Central Processing unit,CPU)、微处理器、数字处理芯片、图形处理器及各种控制芯片的组合等。所述处理器10是所述电子设备的控制核心(Control Unit),利用各种接口和线路连接整个电子设备的各个部件,通过运行或执行存储在所述存储器11内的程序或者模块(例如单点登录程序等),以及调用存储在所述存储器11内的数据,以执行电子设备的各种功能和处理数据。
所述通信总线12可以是外设部件互连标准(perIPheral componentinterconnect,简称PCI)总线或扩展工业标准结构(extended industry standardarchitecture,简称EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。所述通信总线12总线被设置为实现所述存储器11以及至少一个处理器10等之间的连接通信。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
图3仅示出了具有部件的电子设备,本领域技术人员可以理解的是,图3示出的结构并不构成对所述电子设备的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
例如,尽管未示出,所述电子设备还可以包括给各个部件供电的电源(比如电池),优选地,电源可以通过电源管理装置与所述至少一个处理器10逻辑相连,从而通过电源管理装置实现充电管理、放电管理、以及功耗管理等功能。电源还可以包括一个或一个以上的直流或交流电源、再充电装置、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。所述电子设备还可以包括多种传感器、蓝牙模块、Wi-Fi模块等,在此不再赘述。
可选地,所述通信接口13可以包括有线接口和/或无线接口(如WI-FI接口、蓝牙接口等),通常用于在该电子设备与其他电子设备之间建立通信连接。
可选地,所述通信接口13还可以包括用户接口,用户接口可以是显示器(Display)、输入单元(比如键盘(Keyboard)),可选地,用户接口还可以是标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在电子设备中处理的信息以及用于显示可视化的用户界面。
应该了解,所述实施例仅为说明之用,在专利申请范围上并不受此结构的限制。
所述电子设备中的所述存储器11存储的单点登录程序是多个计算机程序的组合,在所述处理器10中运行时,可以实现:
接收用户发出的应用***在单点登录***的登录请求,解析所述登录请求中的登录信息;
判断在预设的浏览器缓存文件中是否存在所述登录信息;
若所述浏览器缓存文件中存在所述登录请求的登录信息,验证所述登录信息,在所述验证成功时,执行在所述单点登录***中的登录请求,得到所述应用***的登录结果;
若所述浏览器缓存文件中不存在所述登录请求的登录信息,获取所述应用***的更新登录标识,并将所述更新登录标识存储至所述浏览器缓存文件中,得到更新浏览器缓存文件;
利用预设接口调用所述登录请求的应用***地址,并利用所述预设接口将所述更新浏览器缓存文件加载至所述应用***地址中,以执行在所述单点登录***中的登录请求,得到所述应用***的登录结果。
具体地,所述处理器10对上述计算机程序的具体实现方法可参考图1对应实施例中相关步骤的描述,在此不赘述。
进一步地,所述电子设备集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取介质中。所述计算机可读介质可以是非易失性的,也可以是易失性的。所述计算机可读介质可以包括:能够携待所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)。
本发明实施例还可以提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序在被电子设备的处理器所执行时,可以实现:
接收用户发出的应用***在单点登录***的登录请求,解析所述登录请求中的登录信息;
判断在预设的浏览器缓存文件中是否存在所述登录信息;
若所述浏览器缓存文件中存在所述登录请求的登录信息,验证所述登录信息,在所述验证成功时,执行在所述单点登录***中的登录请求,得到所述应用***的登录结果;
若所述浏览器缓存文件中不存在所述登录请求的登录信息,获取所述应用***的更新登录标识,并将所述更新登录标识存储至所述浏览器缓存文件中,得到更新浏览器缓存文件;
利用预设接口调用所述登录请求的应用***地址,并利用所述预设接口将所述更新浏览器缓存文件加载至所述应用***地址中,以执行在所述单点登录***中的登录请求,得到所述应用***的登录结果。
进一步地,所述计算机可读存储介质可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序等;存储数据区可存储根据区块链节点的使用所创建的数据等。
在本发明所提供的几个实施例中,应该理解到,所揭露的介质、设备、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。
因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附关联图标记视为限制所涉及的权利要求。
本发明所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。***权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第二等词语用来表示名称,而并不表示任何特定的顺序。
最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。

Claims (9)

1.一种单点登录方法,其特征在于,所述方法包括:
接收用户发出的应用***在单点登录***的登录请求,解析所述登录请求中的登录信息;
判断在预设的浏览器缓存文件中是否存在所述登录信息;
若所述浏览器缓存文件中存在所述登录请求的登录信息,获取所述登录信息的登录令牌及所述浏览器缓存文件中认证中心包含的令牌库,基于所述登录令牌是否存在于所述令牌库来验证所述登录信息,在所述验证成功时,执行在所述单点登录***中的登录请求,得到所述应用***的登录结果,所述登录令牌为应用***的身份标识;
若所述浏览器缓存文件中不存在所述登录请求的登录信息,获取所述应用***在测试环境下的测试登录信息,将所述测试登录信息作为更新登录标识,并将所述更新登录标识存储至所述浏览器缓存文件中,得到更新浏览器缓存文件;
利用预设接口调用所述登录请求的应用***地址,并利用所述预设接口将所述更新浏览器缓存文件加载至所述应用***地址中,以执行在所述单点登录***中的登录请求,得到所述应用***的登录结果。
2.如权利要求1所述的单点登录方法,其特征在于,所述解析所述登录请求中的登录信息,包括:
获取所述登录请求的请求类型,根据所述请求类型查询登录标识;
识别所述登录请求中的登录参数;
根据所述登录标识和所述登录参数,生成登录信息。
3.如权利要求1所述的单点登录方法,其特征在于,所述执行在所述单点登录***中的登录请求,得到所述应用***的登录结果,包括:
提取所述更新浏览器缓存文件的更新登录信息;
验证所述更新登录信息,在所述验证成功时,通过所述登录请求登录所述单点登录***,得到所述应用***的登录结果。
4.如权利要求3所述的单点登录方法,其特征在于,所述验证所述更新登录信息,包括:
获取所述更新登录信息的数字签名,并验证所述数字签名与预设公钥是否匹配;
若所述数字签名与所述预设公钥不匹配,确定所述更新登录信息验证不通过;
若所述数字签名与所述预设公钥匹配,确定所述更新登录信息验证通过。
5.如权利要求1所述的单点登录方法,其特征在于,所述在所述验证成功时,执行在所述单点登录***中的登录请求,得到所述应用***的登录结果,包括:
在所述验证成功时,获取所述单点登录***的连接接口;
利用所述连接接口调用所述应用***中的登录信息,并根据所述登录信息登录所述单点登录***,得到所述应用***的登录结果。
6.如权利要求1所述的单点登录方法,其特征在于,所述获取所述应用***在测试环境下的测试登录信息,将所述测试登录信息作为更新登录标识,包括:
获取测试环境下的测试浏览器缓存文件,从所述测试浏览器缓存文件中获取所述应用***在所述测试环境下进行登录的测试登录信息,并将所述测试登录信息作为更新登录标识。
7.一种单点登录装置,其特征在于,所述装置包括:
登录信息解析模块,用于接收用户发出的应用***在单点登录***的登录请求,解析所述登录请求中的登录信息;
登录信息判断模块,用于判断在预设的浏览器缓存文件中是否存在所述登录信息;
第一登录模块,用于若所述浏览器缓存文件中存在所述登录请求的登录信息,获取所述登录信息的登录令牌及所述浏览器缓存文件中认证中心包含的令牌库,基于所述登录令牌是否存在于所述令牌库来验证所述登录信息,在所述验证成功时,执行在所述单点登录***中的登录请求,得到所述应用***的登录结果,所述登录令牌为应用***的身份标识;
登录标识存储模块,用于若所述浏览器缓存文件中不存在所述登录请求的登录信息,获取所述应用***在测试环境下的测试登录信息,将所述测试登录信息作为更新登录标识,并将所述更新登录标识存储至所述浏览器缓存文件中,得到更新浏览器缓存文件;
第二登录模块,用于利用预设接口调用所述登录请求的应用***地址,并利用所述预设接口将所述更新浏览器缓存文件加载至所述应用***地址中,以执行在所述单点登录***中的登录请求,得到所述应用***的登录结果。
8.一种电子设备,其特征在于,所述电子设备包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1至6中任一项所述的单点登录方法。
9.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6中任一项所述的单点登录方法。
CN202210604464.8A 2022-05-30 2022-05-30 单点登录方法、装置、设备及存储介质 Active CN115001805B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210604464.8A CN115001805B (zh) 2022-05-30 2022-05-30 单点登录方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210604464.8A CN115001805B (zh) 2022-05-30 2022-05-30 单点登录方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN115001805A CN115001805A (zh) 2022-09-02
CN115001805B true CN115001805B (zh) 2024-04-02

Family

ID=83030328

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210604464.8A Active CN115001805B (zh) 2022-05-30 2022-05-30 单点登录方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN115001805B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7702794B1 (en) * 2004-11-16 2010-04-20 Charles Schwab & Co. System and method for providing silent sign on across distributed applications
CN110765443A (zh) * 2019-10-24 2020-02-07 深圳前海环融联易信息科技服务有限公司 单点登录的方法、装置、计算机设备及存储介质
CN111209557A (zh) * 2019-12-24 2020-05-29 中移(杭州)信息技术有限公司 跨域单点登录方法、装置、电子设备及存储介质
WO2021151553A1 (de) * 2020-01-28 2021-08-05 Siemens Aktiengesellschaft Verfahren zur universellen einmalanmeldung, single-sign-on und vorrichtung
CN113364755A (zh) * 2021-05-31 2021-09-07 平安科技(深圳)有限公司 基于ip地址的单点登录方法、装置、设备及介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010045451A1 (en) * 2000-02-28 2001-11-29 Tan Warren Yung-Hang Method and system for token-based authentication
US20100024015A1 (en) * 2006-12-21 2010-01-28 Sxip Identity Corp. System and method for simplified login using an identity manager
US8528066B2 (en) * 2009-08-25 2013-09-03 Microsoft Corporation Methods and apparatus for enabling context sharing
US9130927B2 (en) * 2012-07-02 2015-09-08 Sk Planet Co., Ltd. Single certificate service system and operational method thereof

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7702794B1 (en) * 2004-11-16 2010-04-20 Charles Schwab & Co. System and method for providing silent sign on across distributed applications
CN110765443A (zh) * 2019-10-24 2020-02-07 深圳前海环融联易信息科技服务有限公司 单点登录的方法、装置、计算机设备及存储介质
CN111209557A (zh) * 2019-12-24 2020-05-29 中移(杭州)信息技术有限公司 跨域单点登录方法、装置、电子设备及存储介质
WO2021151553A1 (de) * 2020-01-28 2021-08-05 Siemens Aktiengesellschaft Verfahren zur universellen einmalanmeldung, single-sign-on und vorrichtung
CN113364755A (zh) * 2021-05-31 2021-09-07 平安科技(深圳)有限公司 基于ip地址的单点登录方法、装置、设备及介质

Also Published As

Publication number Publication date
CN115001805A (zh) 2022-09-02

Similar Documents

Publication Publication Date Title
CN108900464B (zh) 电子装置、基于区块链的数据处理方法和计算机存储介质
CN110602052B (zh) 微服务处理方法及服务器
CN1914881B (zh) 用于在网格计算***中授权卸载网格作业的方法和***
CN112887160B (zh) 区块链一体机及其多节点部署方法、装置、存储介质
JP5802848B2 (ja) モバイル環境用のトロイの木馬化されたアプリケーション(アプリ)を特定するためのコンピュータ実装方法、非一時コンピュータ読み取り可能な媒体およびコンピュータシステム
CN111683047B (zh) 越权漏洞检测方法、装置、计算机设备及介质
US20130185645A1 (en) Determining repeat website users via browser uniqueness tracking
CN110708335A (zh) 访问认证方法、装置及终端设备
CN113055380B (zh) 报文处理方法、装置、电子设备及介质
CN112506779A (zh) 软件接口测试方法、装置、电子设备及存储介质
CN111209557A (zh) 跨域单点登录方法、装置、电子设备及存储介质
US20100223469A1 (en) Method, System and Computer Program Product for Certifying Software Origination
CN110601832A (zh) 一种数据访问方法及装置
US20060248578A1 (en) Method, system, and program product for connecting a client to a network
CN111783119B (zh) 表单数据安全控制方法、装置、电子设备及存储介质
CN113434254A (zh) 客户端部署方法、装置、计算机设备及存储介质
CN115021995B (zh) 多渠道登录方法、装置、设备及存储介质
CN115001805B (zh) 单点登录方法、装置、设备及存储介质
CN115086047B (zh) 接口鉴权方法、装置、电子设备及存储介质
CN114826725B (zh) 数据交互方法、装置、设备及存储介质
CN113886894A (zh) 数字签名方法和数字签名设备
CN114827354A (zh) 身份验证信息显示方法、装置、电子设备及可读存储介质
CN114036068A (zh) 基于隐私安全的更新检测方法、装置、设备及存储介质
CN114422586A (zh) 事件通知方法、装置、计算机设备及存储介质
CN112487400A (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