CN112491881A - 跨平台单点登录方法、系统、电子设备及存储介质 - Google Patents

跨平台单点登录方法、系统、电子设备及存储介质 Download PDF

Info

Publication number
CN112491881A
CN112491881A CN202011357178.3A CN202011357178A CN112491881A CN 112491881 A CN112491881 A CN 112491881A CN 202011357178 A CN202011357178 A CN 202011357178A CN 112491881 A CN112491881 A CN 112491881A
Authority
CN
China
Prior art keywords
access
access system
user
cas
server
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.)
Granted
Application number
CN202011357178.3A
Other languages
English (en)
Other versions
CN112491881B (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.)
China Life Insurance Co Ltd China
Original Assignee
China Life Insurance Co Ltd China
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 China Life Insurance Co Ltd China filed Critical China Life Insurance Co Ltd China
Priority to CN202011357178.3A priority Critical patent/CN112491881B/zh
Publication of CN112491881A publication Critical patent/CN112491881A/zh
Application granted granted Critical
Publication of CN112491881B publication Critical patent/CN112491881B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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

Abstract

本说明书提供了一种跨平台单点登录方法,包括:中央认证服务(CAS)服务器在接收到第一访问请求后,对用户信息进行认证;在接收到用户第二访问请求后,验证访问参数信息的正确性;随机生成字符串,对字符串和第二接入系统的应用密钥进行加密,得到第一加密签名,并将字符串发送至第二接入系统的服务器;上述服务器对接收的字符串和自身的应用密钥进行加密得到第二加密签名,并返回给CAS认证服务器;CAS认证系统验证第一加密签名和第二加密签名是否一致,在一致时,将用户信息发送至服务器;第二接入系统的服务器对用户身份及权限进行验证,通过后,向用户返回与第二访问请求对应的响应。本说明书还提供了单点登录系统、电子设备及存储介质。

Description

跨平台单点登录方法、系统、电子设备及存储介质
技术领域
本说明书一个或多个实施例涉及互联网技术领域,尤其涉及一种跨平台单点登录方法、系统、电子设备及存储介质。
背景技术
中央认证服务(Central Authentication Service,CAS)是耶鲁大学发起的一个开源项目,是一种针对万维网的单点登录协议。其目的是允许一个用户访问多个应用程序,而只需提供一次凭证(如用户名和密码)。它还允许网络(web)应用程序在没有获得用户的安全凭据(如密码)的情况下对用户进行身份验证。“CAS”也指实现了该协议的软件包。因此,CAS认证框架被广泛应用于应用程序的登录过程中。其中,单点登录(Single Sign On,SSO)是目前比较流行的企业业务整合的解决方案之一。SSO的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。
CAS技术虽然可以实现单点登录,但是CAS对接入系统有严格的开发框架要求,要求接入系统必须为JAVA框架,必须引入CAS客户端软件开发工具包(SDK)JAR文件包,并且必须由CAS方拦截所有用户访问请求并同CAS客户端或服务端进行通信交互。因此,所有非JAVA类系统或无法将用户访问请求全部交由CAS控制的系统均无法实现单点登录。如此,CAS技术对于跨平台多系统的单点登录还没有完善的解决方案。
发明内容
有鉴于此,本说明书一个或多个实施例提出一种跨平台单点登录方法,在用户基于CAS技术已登录第一接入系统后,可以直接登录第二接入系统,而无需用户输入第二接入系统的登录信息,从而实现跨平台的单点登录,简化跨平台多系统的登录流程,不仅方便了用户的操作,还避免了资源的浪费。
本说明书实施例所述的跨平台单点登录方法包括:CAS认证服务器在接收到用户针对第一接入系统的第一访问请求后,对第一访问请求中的用户信息进行认证,并在认证成功后,生成服务票据信息;所述CAS认证服务器在接收到用户针对第二接入系统的第二访问请求后,通过解析上述第二访问请求,确定所述第二访问请求中的访问参数信息,并验证所述访问参数信息的正确性;在所述访问参数信息正确时,CAS认证服务系统随机生成字符串,并对上述字符串和第二接入系统的应用密钥进行加密,得到第一加密签名并存入内存数据库中;所述CAS认证服务器将所述字符串作为参数发送至第二接入系统的服务器;所述第二接入系统的服务器使用与所述CAS认证服务器相同的加密算法对接收的所述字符串和自身的应用密钥进行加密得到第二加密签名,并将第二加密签名返回给所述CAS认证服务器;所述CAS认证系统验证所述第一加密签名和第二加密签名是否一致,在所述第一加密签名和第二加密签名一致时,将用户信息发送至所述第二接入系统的服务器;以及所述第二接入系统的服务器根据接收到的所述用户信息对用户身份及权限进行验证,验证通过后,向用户返回与所述第二访问请求对应的响应。
在本说明书的实施例中,所述访问参数信息包括:预先分配给用户客户端的第一接入系统的应用编码、第二接入系统的应用编码、请求访问的用户的身份标识以及访问发起时间以及第三加密签名;其中,所述第三加密签名是由所述CAS客户端通过对所述第一接入系统的应用编码、所述第二接入系统的应用编码、所述预先获取的第一接入系统的应用密钥、所述第二接入系统应用密钥、所述请求访问的用户的身份标识以及所述访问发起时间进行加密后生成的不可逆的密文。
在本说明书的实施例中,所述验证访问参数信息的正确性包括:在接收到所述访问参数信息后,将从中提取第一接入系统的应用编码、第二接入系统的应用编码、请求访问的用户的身份标识以及访问发起时间,并根据提取的第一接入系统的应用编码和第二接入系统的应用编码从数据库中获取第一接入系统的应用密钥以及第二接入系统应用密钥;对所述第一接入系统的应用编码、第二接入系统的应用编码、第一接入系统的应用密钥、第二接入系统应用密钥、请求访问的用户的身份标识以及访问发起时间进行与所述CAS客户端相同的加密算法进行加密,生成第四加密签名;以及验证上述第三加密签名和第四加密签名是否一致,如果一致,则认为所述访问参数信息正确;否则,认为所述访问参数信息不正确。
在本说明书的实施例中,所述方法进一步包括:对所述第一接入系统和/或所述第二接入系统的身份进行认证,并在认证通过后继续执行所述随机生成字符串的操作;其中,对所述第一接入系统的身份进行认证包括:根据第一接入系统的应用编码以及应用密钥,验证第一接入系统是否为预先设定的允许用户跨平台单点登录的门户;对所述第二接入系统的身份进行认证包括:根据第二接入系统的应用编码以及应用密钥,验证第二接入系统是否为预先设定的允许用户跨平台单点登录的次级业务系统。
在本说明书的实施例中,所述方法进一步包括:根据所述第二访问请求中的访问地址和第二接入系统的应用编码验证该访问地址是否为第二接入系统的访问地址,并在验证通过后继续执行所述随机生成字符串的操作。
在本说明书的实施例中,所述方法进一步包括:根据所述第二访问请求携带的请求访问的用户的身份标识获取所述用户对应的服务票据信息,并验证其有效性,并在所述服务票据信息有效时继续执行所述随机生成字符串的操作。
在本说明书的实施例中,所述方法进一步包括:根据第二访问请求携带的请求访问的用户的身份标识获取该用户用户信息,验证所述用户是否合法以及是否有权限访问第二接入系统,并在所述用户合法以及有权限访问第二接入系统时继续执行所述随机生成字符串的操作。
本说明书的实施例还提供了一种跨平台单点登录系统,包括:客户端浏览器、CAS客户端、CAS认证服务器以及第二接入系统的服务器;其中,
所述客户端浏览器用于接收用户输入的针对第一接入系统的第一访问请求并发送至所述CAS客户端;
所述CAS客户端用于配合CAS认证服务器对所述第一访问请求中的用户信息进行认证;
所述CAS认证服务器用于对所述第一访问请求中的用户信息进行认证,并在认证成功后,生成服务票据信息;
所述客户端浏览器还用于接收用户输入的针对第二接入系统的第二访问请求并通过所述CAS客户端发送至所述CAS认证服务器;
所述CAS认证服务器还用于在接收到用户针对第二接入系统的第二访问请求后,通过解析上述第二访问请求,确定所述第二访问请求中的访问参数信息,并验证所述访问参数信息的正确性;在所述访问参数信息正确时,随机生成字符串,并对所述字符串和第二接入系统的应用密钥进行加密,得到第一加密签名并存入内存数据库中;以及将所述字符串作为参数发送至所述第二接入系统的服务器;
所述第二接入系统的服务器用于使用与所述CAS认证服务器相同的加密算法对接收的所述字符串和自身的应用密钥进行加密得到第二加密签名,并将所述第二加密签名返回给所述CAS认证服务器;
所述CAS认证系统进一步用于验证所述第一加密签名和第二加密签名是否一致,在所述第一加密签名和第二加密签名一致时,将用户信息发送至第二接入系统的服务器;
所述第二接入系统的服务器进一步用于根据接收到的所述用户信息对用户身份及权限进行验证,验证通过后,向所述用户返回与所述第二访问请求对应的响应。
本说明书的一个或多个实施例还提供了一种电子设备,可以包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述程序时实现上述跨平台单点登录方法。
本说明书的一个或多个实施例还提供了一种非暂态计算机可读存储介质,其中,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行上述跨平台单点登录方法。
可以看出,通过上述跨平台单点登录方法和系统,用户可以通过登录第一接入系统直接访问第二接入系统,而无需再次输入任何用户信息。上述过程可以实现跨平台的单点登录,简化跨平台多系统的登录流程,不仅方便了用户的操作,还避免了资源的浪费。
附图说明
为了更清楚地说明本说明书一个或多个实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书一个或多个实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1显示了本说明书一些实施例所述的跨平台单点登录方法实现流程;
图2显示了本说明书一些实施例所述的对上述第一访问请求中的用户信息进行认证的方法实现流程;
图3显示了本说明书一些实施例所述的验证访问参数信息的正确性的方法实现流程;
图4显示了本说明书一些实施例所述的跨平台单点登录系统的内部结构示意图;以及
图5显示了本说明书一些实施例所述的电子设备的内部结构示意图。
具体实施方式
为使本公开的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本公开进一步详细说明。
需要说明的是,除非另外定义,本说明书一个或多个实施例使用的技术术语或者科学术语应当为本公开所属领域内具有一般技能的人士所理解的通常意义。本说明书一个或多个实施例中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。“上”、“下”、“左”、“右”等仅用于表示相对位置关系,当被描述对象的绝对位置改变后,则该相对位置关系也可能相应地改变。
可以理解,CAS协议涉及到至少以下三个方面的内容。客户端Web浏览器、CAS客户端以及CAS认证服务器。它还可能涉及一个后台服务(例如数据库服务器),它并没有自己的HTTP接口,但与一个Web应用程序进行通信。当用户通过Web浏览器访问应用程序,并请求身份验证时,应用程序将上述身份验证的请求重定向到CAS认证服务器。此时,CAS认证服务器将验证该用户的CAS客户端是否被授权。通常情况下,CAS认证服务器通过在数据库中对该CAS客户端对应的用户名和密码进行检查。具体地,CAS认证服务器可以通过Kerberos、轻型目录访问协议(LDAP)或活动目录(Active Directory)等方式进行对用户身份进行验证。如果身份验证成功,则CAS认证服务器令CAS客户端返回到应用程序,并传递身份验证票(Security ticket)。然后,应用程序通过安全连接连接CAS认证服务器,并提供自己的服务标识和验证票。之后,CAS认证服务器给出了关于特定用户是否已成功通过身份验证的应用程序授信信息。CAS认证服务器允许通过代理服务器进行多层身份验证。后端服务(如数据库或邮件服务器)可以组成CAS,通过从Web应用程序接收到的信息验证用户是否被授权。因此,网页邮件客户端和邮件服务器都可以实现CAS。
从结构上看,CAS系统可以包含两个部分:CAS认证服务器和CAS客户端。其中,CAS认证服务器需要独立部署,主要负责对用户的认证工作。CAS客户端负责处理对客户端受保护资源的访问请求,需要登录时,重定向到CAS认证服务器。
如前所述,由于CAS对接入系统有严格的开发框架要求,要求接入系统必须为JAVA框架,因此,CAS技术对于跨平台多系统的单点登录还没有完善的解决方案。
为此,本说明书的实施例提供了一种跨平台单点登录方法,在用户基于CAS技术已登录第一接入系统后,可以直接登录第二接入系统,而无需用户输入第二接入系统的登录信息,从而实现跨平台的单点登录。
需要说明的是,在本说明书的实施例中,上述第一接入系统为与CAS标准对接的接入系统。上述第二接入系统既可以是与CAS标准对接的接入系统也可以不是与CAS标准对接的接入系统,本说明书的实施例对此不进行限定。
图1显示了本说明书实施例所述的跨平台单点登录方法流程。该方法可以由CAS认证服务器和第二接入系统的服务器联合执行。如图1所示,本说明书实施例所述的跨平台单点登录方法主要包括如下步骤:
在步骤102,CAS认证服务器在接收到用户针对第一接入系统的第一访问请求后,对上述第一访问请求中的用户信息进行认证,并在认证成功后,生成服务票据信息(Service Ticket)。
上述CAS认证服务器对上述第一访问请求中的用户信息进行认证的过程将在后文详细说明,在此暂时略过。
在步骤104,CAS认证服务器在接收到用户针对第二接入系统的第二访问请求后,通过解析上述第二访问请求,确定上述第二访问请求中的访问参数信息,并验证上述访问参数信息的正确性。
上述CAS认证服务器验证上述访问参数信息的正确性的过程将在后文详细说明,在此暂时略过。
在步骤106,在上述访问参数信息正确时,CAS认证服务系统随机生成字符串,并对上述字符串和第二接入系统的应用密钥进行加密,得到第一加密签名并存入内存数据库中。
在本说明书的实施例中,上述字符串的长度可以为32位。
此外,上述加密具体可以包括:对上述字符串和第二接入系统的应用密钥进行字典排序并使用sha1加密算法生成第一加密签名。另外,上述内存数据库可以为Redis内存数据库。
在步骤108,CAS认证服务器将上述字符串作为参数发送至第二接入系统的服务器。
在步骤110,上述第二接入系统的服务器使用与CAS认证服务器相同的加密算法对接收的上述字符串和自身的应用密钥进行加密得到第二加密签名,并将第二加密签名返回给上述CAS认证服务器。
具体地,上述第二接入系统的服务器可以对上述字符串和第二接入系统的应用密钥进行字典排序并使用sha1加密算法生成第二加密签名。
在步骤112,CAS认证系统验证上述第一加密签名和第二加密签名是否一致,在上述第一加密签名和第二加密签名一致时,将用户信息发送至第二接入系统的服务器。
在本说明书的实施例中,上述用户信息包括:用户的身份标识(例如员工号)以及姓名。
需要说明的是,如果上述第一加密签名和第二加密签名不一致,则可以拒绝本次跨平台单点登录,并通过客户端浏览器通知用户。
在步骤114,第二接入系统的服务器根据接收到的上述用户信息对用户身份及权限进行验证,验证通过后,向用户返回与上述第二访问请求对应的响应。
需要说明的是,如果上述验证没有通过,则可以拒绝本次跨平台单点登录,并通过客户端浏览器通知用户。
在本说明书的实施例中,上述第二接入系统的服务器可以根据自身预先设置的用户白名单以及用户权限对上述发送第二访问请求的用户的身份以及权限进行验证。
至此,跨平台的单点登录过程完成,用户可以通过登录第一接入系统直接访问第二接入系统,而无需再次输入任何用户信息。上述过程可以实现跨平台的单点登录,简化跨平台多系统的登录流程,不仅方便了用户的操作,还避免了资源的浪费。
下面将进一步结合附图详细说明上述跨平台的单点登录过程中具体步骤的实现方式。
在本说明书的实施例中,上述步骤102所述的从客户端接收用户针对第一接入系统的第一访问请求,以及对上述第一访问请求中的用户信息进行认证的过程可以通过如图2所示的交互流程实现。如图2所述,该方法主要可以包括如下步骤:
在步骤202,CAS客户端接收到用户通过客户端浏览器发送的针对第一接入系统的访问请求后,确定上述访问请求中是否包含服务票据Service Ticket。如果没有包含Service Ticket,则说明当前用户尚未登录上述第一接入系统,接下来继续执行后续的步骤204;如果已包含Service Ticket,则说明当前用户已经登录上述第一接入系统,因此,应当允许用户直接访问上述第一接入系统,而直接执行后续的访问流程。
在步骤204,CAS客户端将上述访问请求重定向到指定的CAS认证服务器,并向上述CAS认证服务器传递本次访问请求对应的业务信息(Service)。
在本说说明书的实施例中,上述业务信息包括要访问的目的第一接入系统的地址,以便登录成功过后可以转回该地址,以完成对上述第一接入系统的访问。
在步骤206,CAS认证服务器将向用户的客户端浏览器返回针对上述访问请求的响应,请求用户输入认证信息。
在本说明书的实施例中,上述认证信息可以包括用户登录上述第一接入系统的用户名和密码等。
在步骤208,在接收到用户输入的认证信息之后,CAS认证服务器对用户输入的认证信息进行认证,如果认证通过,则CAS认证服务器将随机生成上述Service Ticket并缓存,然后执行步骤210;如果认证不通过,则向用户的客户端浏览器返回错误消息。
在本说明书的实施例中,上述Service Ticket可以是一个相当长度、唯一、且不可伪造的一种字符串。
Service Ticket,是CAS认证框架自定义的一个关键对象,其包含了部分用户信息、CAS安全框架需使用的安全信息及一个唯一识别字符串,在传输过程中,以此字符串作为代表进行传输,并在需要获取Ticket信息时,以此字符串作为关键字进行获取。
在步骤210,CAS认证服务器根据上述业务信息将访问请求重定向到上述第一接入系统,并为用户的客户端浏览器设置一个Ticket Granted Cookie(TGC);同时,CAS认证服务器还将上述Service Ticket下发到用户的CAS客户端。
在步骤212,CAS客户端在接收到上述Service Ticket之后,与CAS认证服务器进行交互以进行身份核实,以确保Service Ticket的合法性。
在上述过程中,所有CAS客户端与CAS认证服务器的交互均采用安全套接字协议(SSL),以确保Service Ticket和TGC的安全性。上述过程会有2次重定向的过程,但是CAS客户端与CAS认证服务器之间进行Service Ticket验证的过程对于用户是透明的。
在本说明书的实施例中,上述步骤104中的访问参数信息可以包括:预先分配给用户客户端的第一接入系统的应用编码、第二接入系统的应用编码、请求访问的用户的身份标识(例如工号)以及访问发起时间以及第三加密签名。其中,上述第三加密签名是由CAS客户端通过对第一接入系统的应用编码、第二接入系统的应用编码、预先获取的第一接入系统的应用密钥、第二接入系统应用密钥、请求访问的用户的身份标识以及访问发起时间进行加密后生成的不可逆的密文。
上述加密具体可以是指:对上述待加密信息经过字典排序后以md5加盐的加密方式进行加密。
在本说明书的实施例中,上述验证访问参数信息的正确性可以参考图3所示的过程,具体包括如下步骤:
在步骤302,CAS认证服务器在接收到上述访问参数信息后,将从中提取第一接入系统的应用编码、第二接入系统的应用编码、请求访问的用户的身份标识以及访问发起时间,并根据提取的第一接入系统的应用编码和第二接入系统的应用编码从数据库中获取第一接入系统的应用密钥以及第二接入系统应用密钥。
在步骤304,CAS认证服务器将对上述第一接入系统的应用编码、第二接入系统的应用编码、第一接入系统的应用密钥、第二接入系统应用密钥、请求访问的用户的身份标识以及访问发起时间进行与CAS客户端相同的加密算法加密,生成第四加密签名。
如前所述,上述加密具体可以是指:对上述待加密信息经过字典排序后以md5加盐的加密方式进行加密。
在步骤306,CAS认证服务器将验证上述第三加密签名和第四加密签名是否一致,如果一致,则认为上述访问参数信息正确;否则,认为上述访问参数信息不正确。
需要说明的是,在确认上述访问参数信息正确后,可以继续执行后续步骤;如果确认上述访问参数信息不正确,则可以拒绝本次跨平台单点登录,并通过客户端浏览器通知用户。
除了验证上述访问参数信息的正确性之外,在本说明书的另一些实施例中,CAS认证服务器在执行完上述步骤104之后,还可以进一步对上述第一接入系统和/或第二接入系统的身份进行认证。
具体地,上述对第一接入系统的身份进行认证可以包括:根据第一接入系统的应用编码以及应用密钥,验证第一接入系统是否为预先设定的允许用户跨平台单点登录的门户。在本说明书的实施例中,上述门户具体可以是指用户通过登录该门户就可以单点登录到其他业务系统的接入系统。
通常情况下,CAS认证服务器预先会设置各个业务系统的身份,从各个业务系统中确定可以作为上述门户的业务系统,并记录这些门户的应用编码和应用密钥。如此,在本步骤中,CAS认证服务器可以通过第二访问请求中携带的第一接入系统的应用编码得到上述第一接入系统的应用密钥;然后,再根据上述应用编码和应用密钥确定上述第一接入系统是否为门户。
具体地,上述对第二接入系统的身份进行认证可以包括:根据第二接入系统的应用编码以及应用密钥,验证第二接入系统是否为预先设定的允许用户跨平台单点登录的次级业务系统。在本说明书的实施例中,上述次级业务系统具体可以是指用户通过登录门户就可以单点登录到该系统的接入系统。
通常情况下,CAS认证服务器预先会设置各个业务系统的身份,从各个业务系统中确定可以作为上述次级业务系统的业务系统,并记录这些次级业务系统的应用编码和应用密钥。如此,在本步骤中,CAS认证服务器可以通过第二访问请求中携带的第二接入系统的应用编码得到上述第二接入系统的应用密钥;然后,再根据上述应用编码和应用密钥确定上述第二接入系统是否为次级业务系统。
进一步,CAS认证服务器还可以进一步根据上述第二访问请求中的访问地址和第二接入系统的应用编码验证该访问地址是否为第二接入系统的访问地址。
需要说明的是,在确认上述第一接入系统以及第二接入系统的身份争取后,可以继续执行后续步骤;如果确认上述第一接入系统并不是门户或者确认上述第二接入系统并不是次级业务系统,则可以拒绝本次跨平台单点登录,并通过客户端浏览器通知用户。
更进一步,在本说明书的又一些实施例中,上述CAS认证服务器还可以根据第二访问请求携带的请求访问的用户的身份标识获取该用户对应的服务票据信息,并验证其有效性。
在确认上述服务票据信息有效后,可以继续执行后续步骤;如果确认上述服务票据信息无效,则可以拒绝本次跨平台单点登录,并通过客户端浏览器通知用户。
再进一步,在本说明书的还一些实施例中,上述CAS认证服务器还可以根据第二访问请求携带的请求访问的用户的身份标识获取该用户用户信息,验证访问用户是否合法以及是否有权限访问第二接入系统。例如,验证用户是否为合法用户,用户状态是否为非锁定或冻结状态的正常状态,用户密码是否有效等等。在确认上述用户合法且有权限访问第二接入系统后,可以继续执行后续步骤;如果确认上述上述用户不合法或者没有权限访问第二接入系统,则可以拒绝本次跨平台单点登录,并通过客户端浏览器通知用户。
对应上述跨平台单点登录方法,本说明书的实施例还提供了一种跨平台单点登录系统。图4显示了上述跨平台单点登录系统的内部结构。如图4所示,该跨平台单点登录系统可以包括:客户端浏览器402、CAS客户端404、CAS认证服务器406以及第二接入系统的服务器408。
其中,上述客户端浏览器402用于接收用户输入的针对第一接入系统的第一访问请求并发送至CAS客户端404。
上述CAS客户端404用于配合CAS认证服务器对上述第一访问请求中的用户信息进行认证。
上述CAS认证服务器406用于对上述第一访问请求中的用户信息进行认证,并在认证成功后,生成服务票据信息。
上述客户端浏览器402还用于接收用户输入的针对第二接入系统的第二访问请求并通过上述CAS客户端404发送至上述CAS认证服务器406。
上述CAS认证服务器406还用于在接收到用户针对第二接入系统的第二访问请求后,通过解析上述第二访问请求,确定上述第二访问请求中的访问地址及访问参数信息,并验证上述访问参数信息的正确性;在上述访问参数信息正确时,随机生成字符串,并对上述字符串和第二接入系统的应用密钥进行加密,得到第一加密签名并存入内存数据库中;以及将上述字符串作为参数发送至第二接入系统的服务器408。
上述第二接入系统的服务器408用于使用与CAS认证服务器相同的加密算法对接收的上述字符串和自身的应用密钥进行加密得到第二加密签名,并将第二加密签名返回给上述CAS认证服务器406。
接下来,上述CAS认证系统406验证上述第一加密签名和第二加密签名是否一致,在上述第一加密签名和第二加密签名一致时,将用户信息发送至第二接入系统的服务器408。
在这种情况下,上述第二接入系统的服务器408根据接收到的上述用户信息对用户身份及权限进行验证,验证通过后,向用户返回与上述第二访问请求对应的响应。
可以看出,通过上述跨平台单点登录系统,用户可以通过登录第一接入系统直接访问第二接入系统,而无需再次输入任何用户信息。上述过程可以实现跨平台的单点登录,简化跨平台多系统的登录流程,不仅方便了用户的操作,还避免了资源的浪费。
需要说明的是,本说明书一个或多个实施例的中的CAS认证服务器以及第二接入系统的服务器可以由单个设备实现,例如一台计算机或服务器等。本实施例的CAS认证服务器以及第二接入系统的服务器也可以应用于分布式场景下,由多台设备相互配合来完成。在这种分布式场景的情况下,这多台设备中的一台设备可以只执行本说明书一个或多个实施例的方法中的某一个或多个步骤,这多台设备相互之间会进行交互以完成上述的方法。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本说明书一个或多个实施例时可以把各模块的功能在同一个或多个软件和/或硬件中实现。
上述实施例的装置用于实现前述实施例中相应的方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
图5为本说明书实施例所提供的一种更为具体的电子设备硬件结构示意图,该设备可以包括:处理器510、存储器520、输入/输出接口530、通信接口540和总线550。其中处理器510、存储器520、输入/输出接口530和通信接口540通过总线550实现彼此之间在设备内部的通信连接。
处理器510可以采用通用的CPU(Central Processing Unit,中央处理器)、微处理器、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本说明书实施例所提供的跨平台单点登录方法。
存储器520可以采用ROM(Read Only Memory,只读存储器)、RAM(Random AccessMemory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器520可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的跨平台单点登录方法时,相关的程序代码保存在存储器520中,并由处理器510来调用执行。
输入/输出接口530用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。
通信接口540用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信。
总线550包括一通路,在设备的各组件(例如处理器510、存储器520、输入/输出接口530和通信接口540)之间传输信息。
需要说明的是,尽管上述设备仅示出了处理器510、存储器520、输入/输出接口530、通信接口540以及总线550,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本说明书实施例方案所必需的组件,而不必包含图中所示的全部组件。
本实施例的计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本公开的范围(包括权利要求)被限于这些例子;在本公开的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本说明书一个或多个实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。
另外,为简化说明和讨论,并且为了不会使本说明书一个或多个实施例难以理解,在所提供的附图中可以示出或可以不示出与集成电路(IC)芯片和其它部件的公知的电源/接地连接。此外,可以以框图的形式示出装置,以便避免使本说明书一个或多个实施例难以理解,并且这也考虑了以下事实,即关于这些框图装置的实施方式的细节是高度取决于将要实施本说明书一个或多个实施例的平台的(即,这些细节应当完全处于本领域技术人员的理解范围内)。在阐述了具体细节(例如,电路)以描述本公开的示例性实施例的情况下,对本领域技术人员来说显而易见的是,可以在没有这些具体细节的情况下或者这些具体细节有变化的情况下实施本说明书一个或多个实施例。因此,这些描述应被认为是说明性的而不是限制性的。
尽管已经结合了本公开的具体实施例对本公开进行了描述,但是根据前面的描述,这些实施例的很多替换、修改和变型对本领域普通技术人员来说将是显而易见的。例如,其它存储器架构(例如,动态RAM(DRAM))可以使用所讨论的实施例。
本说明书一个或多个实施例旨在涵盖落入所附权利要求的宽泛范围之内的所有这样的替换、修改和变型。因此,凡在本说明书一个或多个实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本公开的保护范围之内。

Claims (10)

1.一种跨平台单点登录方法,包括:
中央认证服务CAS认证服务器在接收到用户针对第一接入系统的第一访问请求后,对所述第一访问请求中的用户信息进行认证,并在认证成功后,生成服务票据信息;
所述CAS认证服务器在接收到用户针对第二接入系统的第二访问请求后,通过解析上述第二访问请求,确定所述第二访问请求中的访问参数信息,并验证所述访问参数信息的正确性;
在所述访问参数信息正确时,CAS认证服务系统随机生成字符串,并对上述字符串和第二接入系统的应用密钥进行加密,得到第一加密签名并存入内存数据库中;
所述CAS认证服务器将所述字符串作为参数发送至第二接入系统的服务器;
所述第二接入系统的服务器使用与所述CAS认证服务器相同的加密算法对接收的所述字符串和自身的应用密钥进行加密得到第二加密签名,并将第二加密签名返回给所述CAS认证服务器;
所述CAS认证系统验证所述第一加密签名和第二加密签名是否一致,并在所述第一加密签名和第二加密签名一致时,将用户信息发送至所述第二接入系统的服务器;以及
所述第二接入系统的服务器根据接收到的所述用户信息对用户身份及权限进行验证,验证通过后,向用户返回与所述第二访问请求对应的响应。
2.根据权利要求1的方法,其中,所述访问参数信息包括:预先下发给用户客户端的第一接入系统的应用编码、预先下发给用户客户端的第二接入系统的应用编码、请求访问的用户的身份标识以及访问发起时间以及第三加密签名;其中,
所述第三加密签名是由所述CAS客户端通过对所述第一接入系统的应用编码、所述第二接入系统的应用编码、所述预先获取的第一接入系统的应用密钥、所述第二接入系统应用密钥、所述请求访问的用户的身份标识以及所述访问发起时间进行加密后生成的不可逆的密文。
3.根据权利要求1的方法,其中,所述验证访问参数信息的正确性包括:
在接收到所述访问参数信息后,将从中提取第一接入系统的应用编码、第二接入系统的应用编码、请求访问的用户的身份标识以及访问发起时间,并根据提取的第一接入系统的应用编码和第二接入系统的应用编码从数据库中获取第一接入系统的应用密钥以及第二接入系统应用密钥;
对所述第一接入系统的应用编码、第二接入系统的应用编码、第一接入系统的应用密钥、第二接入系统应用密钥、请求访问的用户的身份标识以及访问发起时间进行与所述CAS客户端相同的加密算法进行加密,生成第四加密签名;以及
验证上述第三加密签名和第四加密签名是否一致,如果一致,则认为所述访问参数信息正确;否则,认为所述访问参数信息不正确。
4.根据权利要求3所述的方法,其中,所述方法进一步包括:对所述第一接入系统和/或所述第二接入系统的身份进行认证,并在认证通过后继续执行所述随机生成字符串的操作;其中,
对所述第一接入系统的身份进行认证包括:根据第一接入系统的应用编码以及应用密钥,验证第一接入系统是否为预先设定的允许用户跨平台单点登录的门户;以及
对所述第二接入系统的身份进行认证包括:根据第二接入系统的应用编码以及应用密钥,验证第二接入系统是否为预先设定的允许用户跨平台单点登录的次级业务系统。
5.根据权利要求3所述的方法,其中,所述方法进一步包括:根据所述第二访问请求中的访问地址和第二接入系统的应用编码验证该访问地址是否为第二接入系统的访问地址,并在验证通过后继续执行所述随机生成字符串的操作。
6.根据权利要求3所述的方法,其中,所述方法进一步包括:根据所述第二访问请求携带的请求访问的用户的身份标识获取所述用户对应的服务票据信息,并验证其有效性,并在所述服务票据信息有效时继续执行所述随机生成字符串的操作。
7.根据权利要求3所述的方法,其中,所述方法进一步包括:根据第二访问请求携带的请求访问的用户的身份标识获取该用户用户信息,验证所述用户是否合法以及是否有权限访问第二接入系统,并在所述用户合法以及有权限访问第二接入系统时继续执行所述随机生成字符串的操作。
8.一种跨平台单点登录系统,包括:客户端浏览器、CAS客户端、CAS认证服务器以及第二接入系统的服务器;其中,
所述客户端浏览器用于接收用户输入的针对第一接入系统的第一访问请求并发送至所述CAS客户端;
所述CAS客户端用于配合CAS认证服务器对所述第一访问请求中的用户信息进行认证;
所述CAS认证服务器用于对所述第一访问请求中的用户信息进行认证,并在认证成功后,生成服务票据信息;
所述客户端浏览器还用于接收用户输入的针对第二接入系统的第二访问请求并通过所述CAS客户端发送至所述CAS认证服务器;
所述CAS认证服务器还用于在接收到用户针对第二接入系统的第二访问请求后,通过解析上述第二访问请求,确定所述第二访问请求中的访问参数信息,并验证所述访问参数信息的正确性;在所述访问参数信息正确时,随机生成字符串,并对所述字符串和第二接入系统的应用密钥进行加密,得到第一加密签名并存入内存数据库中;以及将所述字符串作为参数发送至所述第二接入系统的服务器;
所述第二接入系统的服务器用于使用与所述CAS认证服务器相同的加密算法对接收的所述字符串和自身的应用密钥进行加密得到第二加密签名,并将所述第二加密签名返回给所述CAS认证服务器;
所述CAS认证系统进一步用于验证所述第一加密签名和第二加密签名是否一致,在所述第一加密签名和第二加密签名一致时,将用户信息发送至第二接入系统的服务器;
所述第二接入系统的服务器进一步用于根据接收到的所述用户信息对用户身份及权限进行验证,验证通过后,向所述用户返回与所述第二访问请求对应的响应。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述程序时实现如权利要求1至7中任意一项所述的跨平台单点登录方法。
10.一种非暂态计算机可读存储介质,其中,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行如权利要求1至7中任意一项所述的跨平台单点登录方法。
CN202011357178.3A 2020-11-26 2020-11-26 跨平台单点登录方法、系统、电子设备及存储介质 Active CN112491881B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011357178.3A CN112491881B (zh) 2020-11-26 2020-11-26 跨平台单点登录方法、系统、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011357178.3A CN112491881B (zh) 2020-11-26 2020-11-26 跨平台单点登录方法、系统、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN112491881A true CN112491881A (zh) 2021-03-12
CN112491881B CN112491881B (zh) 2023-05-12

Family

ID=74936229

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011357178.3A Active CN112491881B (zh) 2020-11-26 2020-11-26 跨平台单点登录方法、系统、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN112491881B (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112929391A (zh) * 2021-03-15 2021-06-08 浪潮云信息技术股份公司 一种基于单点登录实现跨平台身份认证的方法
CN113067827A (zh) * 2021-03-25 2021-07-02 中国工商银行股份有限公司 一种系统统一认证方法及装置
CN113572728A (zh) * 2021-06-09 2021-10-29 杭州华橙软件技术有限公司 认证物联网设备的方法、装置、设备及介质
CN114584313A (zh) * 2022-02-25 2022-06-03 杭州萤石软件有限公司 一种设备物理身份认证方法、系统、装置及第一平台
CN114697111A (zh) * 2022-03-30 2022-07-01 浪潮云信息技术股份公司 一种跨云访问公有云的方法、系统及公有云
CN114884687A (zh) * 2022-03-21 2022-08-09 中国人寿保险股份有限公司 用户认证方法、装置、电子设备及存储介质
CN115118454A (zh) * 2022-05-25 2022-09-27 四川中电启明星信息技术有限公司 一种基于移动应用的级联认证系统及认证方法
CN115174236A (zh) * 2022-07-08 2022-10-11 上海百家云科技有限公司 一种鉴权认证方法、装置、电子设备及存储介质
CN116647413A (zh) * 2023-07-26 2023-08-25 深圳竹云科技股份有限公司 应用登录方法、装置、计算机设备和存储介质

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104394172A (zh) * 2014-12-12 2015-03-04 用友软件股份有限公司 单点登录装置和方法
US20160308845A1 (en) * 2015-04-15 2016-10-20 Good Technology Corporation Method of operating a computing device, computing device and computer program
CN106101160A (zh) * 2016-08-26 2016-11-09 北京恒华伟业科技股份有限公司 一种系统登录方法及装置
US20170374551A1 (en) * 2015-08-19 2017-12-28 Tencent Technology (Shenzhen) Company Limited Method for connecting network access device to wireless network access point, network access device, and application server
US20180075231A1 (en) * 2016-09-14 2018-03-15 Oracle International Corporation Single sign-on functionality for a multi-tenant identity and data security management cloud service
US20180124049A1 (en) * 2015-10-08 2018-05-03 Feitian Technologies Co., Ltd. Method and device for authenticating based on authenticating device
CN109862047A (zh) * 2019-04-18 2019-06-07 首约科技(北京)有限公司 登录服务器的方法、装置及存储介质
CN110149336A (zh) * 2019-05-24 2019-08-20 深圳绿米联创科技有限公司 单点登录方法、装置以及信息系统
CN110365716A (zh) * 2019-08-28 2019-10-22 山东健康医疗大数据有限公司 一种单点登录方式的实现方法
US20190372993A1 (en) * 2018-06-05 2019-12-05 The Toronto-Dominion Bank Methods and systems for controlling access to a protected resource

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104394172A (zh) * 2014-12-12 2015-03-04 用友软件股份有限公司 单点登录装置和方法
US20160308845A1 (en) * 2015-04-15 2016-10-20 Good Technology Corporation Method of operating a computing device, computing device and computer program
US20170374551A1 (en) * 2015-08-19 2017-12-28 Tencent Technology (Shenzhen) Company Limited Method for connecting network access device to wireless network access point, network access device, and application server
US20180124049A1 (en) * 2015-10-08 2018-05-03 Feitian Technologies Co., Ltd. Method and device for authenticating based on authenticating device
CN106101160A (zh) * 2016-08-26 2016-11-09 北京恒华伟业科技股份有限公司 一种系统登录方法及装置
US20180075231A1 (en) * 2016-09-14 2018-03-15 Oracle International Corporation Single sign-on functionality for a multi-tenant identity and data security management cloud service
US20190372993A1 (en) * 2018-06-05 2019-12-05 The Toronto-Dominion Bank Methods and systems for controlling access to a protected resource
CN109862047A (zh) * 2019-04-18 2019-06-07 首约科技(北京)有限公司 登录服务器的方法、装置及存储介质
CN110149336A (zh) * 2019-05-24 2019-08-20 深圳绿米联创科技有限公司 单点登录方法、装置以及信息系统
CN110365716A (zh) * 2019-08-28 2019-10-22 山东健康医疗大数据有限公司 一种单点登录方式的实现方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
杨晓晖等: "《一种基于可信DAA连接的单点登录模型》", 《系统仿真学报》 *

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112929391A (zh) * 2021-03-15 2021-06-08 浪潮云信息技术股份公司 一种基于单点登录实现跨平台身份认证的方法
CN113067827A (zh) * 2021-03-25 2021-07-02 中国工商银行股份有限公司 一种系统统一认证方法及装置
CN113572728A (zh) * 2021-06-09 2021-10-29 杭州华橙软件技术有限公司 认证物联网设备的方法、装置、设备及介质
CN114584313A (zh) * 2022-02-25 2022-06-03 杭州萤石软件有限公司 一种设备物理身份认证方法、系统、装置及第一平台
CN114584313B (zh) * 2022-02-25 2023-11-03 杭州萤石软件有限公司 一种设备物理身份认证方法、系统、装置及第一平台
CN114884687A (zh) * 2022-03-21 2022-08-09 中国人寿保险股份有限公司 用户认证方法、装置、电子设备及存储介质
CN114697111A (zh) * 2022-03-30 2022-07-01 浪潮云信息技术股份公司 一种跨云访问公有云的方法、系统及公有云
CN115118454A (zh) * 2022-05-25 2022-09-27 四川中电启明星信息技术有限公司 一种基于移动应用的级联认证系统及认证方法
CN115118454B (zh) * 2022-05-25 2023-06-30 四川中电启明星信息技术有限公司 一种基于移动应用的级联认证系统及认证方法
CN115174236A (zh) * 2022-07-08 2022-10-11 上海百家云科技有限公司 一种鉴权认证方法、装置、电子设备及存储介质
CN116647413A (zh) * 2023-07-26 2023-08-25 深圳竹云科技股份有限公司 应用登录方法、装置、计算机设备和存储介质
CN116647413B (zh) * 2023-07-26 2023-10-13 深圳竹云科技股份有限公司 应用登录方法、装置、计算机设备和存储介质

Also Published As

Publication number Publication date
CN112491881B (zh) 2023-05-12

Similar Documents

Publication Publication Date Title
CN112491881B (zh) 跨平台单点登录方法、系统、电子设备及存储介质
CN106209749B (zh) 单点登录方法及装置、相关设备和应用的处理方法及装置
CN110770695B (zh) 物联网(iot)设备管理
US9300653B1 (en) Delivery of authentication information to a RESTful service using token validation scheme
US8495720B2 (en) Method and system for providing multifactor authentication
EP1427160B1 (en) Methods and systems for authentication of a user for sub-locations of a network location
US9166777B2 (en) Method and system for user authentication for computing devices utilizing PKI and other user credentials
CN101027676B (zh) 用于可控认证的个人符记和方法
US10164963B2 (en) Enforcing server authentication based on a hardware token
US20150188909A1 (en) System and Method for Mobile Single Sign-On Integration
GB2547472A (en) Method and system for authentication
US20030208681A1 (en) Enforcing file authorization access
US20170171183A1 (en) Authentication of access request of a device and protecting confidential information
CN105430014B (zh) 一种单点登录方法及其系统
US8977857B1 (en) System and method for granting access to protected information on a remote server
CN111800378B (zh) 一种登录认证方法、装置、系统和存储介质
CN110430065B (zh) 一种应用服务调用方法、装置及系统
CN105554098A (zh) 一种设备配置方法、服务器及系统
WO2017042023A1 (en) Method of managing credentials in a server and a client system
CN112492028A (zh) 云桌面登录方法、装置、电子设备及存储介质
CN111342964B (zh) 单点登录方法、装置及系统
US11924211B2 (en) Computerized device and method for authenticating a user
KR102372503B1 (ko) 탈중앙화 아이디 앱을 이용하여 인증 서비스를 제공하는 방법 및 이를 이용한 탈중앙화 아이디 인증 서버
CN112653673A (zh) 基于单点登录的多因素认证方法和系统
RU2698424C1 (ru) Способ управления авторизацией

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