CN117240528A - 一种基于本地安全代理服务的跨客户端单点登录方法 - Google Patents
一种基于本地安全代理服务的跨客户端单点登录方法 Download PDFInfo
- Publication number
- CN117240528A CN117240528A CN202311150954.6A CN202311150954A CN117240528A CN 117240528 A CN117240528 A CN 117240528A CN 202311150954 A CN202311150954 A CN 202311150954A CN 117240528 A CN117240528 A CN 117240528A
- Authority
- CN
- China
- Prior art keywords
- authentication
- local security
- security proxy
- proxy service
- session
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 50
- 238000012795 verification Methods 0.000 claims abstract description 19
- 238000012545 processing Methods 0.000 claims description 11
- 238000004590 computer program Methods 0.000 claims description 9
- 230000004044 response Effects 0.000 claims description 5
- 230000008901 benefit Effects 0.000 description 4
- 238000011161 development Methods 0.000 description 4
- 230000018109 developmental process Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 238000010276 construction Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 239000003795 chemical substances by application Substances 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000005336 cracking Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000007792 addition Methods 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 230000008140 language development Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000006798 recombination Effects 0.000 description 1
- 238000005215 recombination Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Landscapes
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种基于本地安全代理服务的跨客户端单点登录方法,包括:在用户访问业务系统时,业务系统请求到认证中心进行认证,前端页面调用本地安全代理服务进行用户的会话校验,在存在有效会话的情况下,返回已存在的会话信息;在会话校验不存在有效会话的情况下,展示用户认证页面,用户根据用户认证页面选择认证方式进行认证,前端页面直接调用本地安全代理服务进行认证;本地安全代理服务解析接收的认证请求,并将解析后的认证请求信息发送至认证中心服务端;认证中心服务端返回与认证请求信息对应的认证结果;本地安全代理服务解析认证结果,并在认证结果为认证通过时,保存和管理会话信息并返回至前端页面;前端页面展示认证成功页面。
Description
技术领域
本发明涉及单点登录技术领域,并且更具体地,涉及一种基于本地安全代理服务的跨客户端单点登录方法。
背景技术
随着各行业信息化发展,逐年增多的应用系统,这些系统建设有先有后,由于建设时期不同,各类系统的运行环境要求也不同,这就导致后期在建设信息化的时候存在很多问题,主要问题如下:
1.用户登录认证:用户需要记忆多个系统的多个用户名、密码,用户经常会把这些密码高混淆,最后导致大部分用户要么把所有系统的密码设置成一模一样的,要么就记录到纸质的、电子的文本上,这就增加了密码泄漏的风险。
2.会话信息安全共享问题:多个具有异构认证机制的业务系统协同完成任务时,认证结果无法传递,重复登录,容易导致认证信息泄露或遗忘等,大多数人员在多业务系统下通常会建立相同账号密码。
3.跨客户端问题:各业务系统使用不同浏览器或不同客户端,在单点登录时,不同客户端之间会话信息独立,不能共享,无法实现跨客户端的单点登录。
4.认证安全问题:各业务系统认证多为明文传输,对于安全性要求高的信息化建设,需要提高认证安全性,则需要各系统都定制化开发,系统越多,开发工作量越大,企业成本也较高。
发明内容
针对现有技术的不足,本发明提供一种基于本地安全代理服务的跨客户端单点登录方法。
根据本发明的一个方面,提供了一种基于本地安全代理服务的跨客户端单点登录方法,包括:
在用户访问业务系统时,业务系统请求到认证中心进行认证,前端页面调用本地安全代理服务进行用户的会话校验,在存在有效会话的情况下,返回已存在的会话信息;
在会话校验不存在有效会话的情况下,展示用户认证页面,用户根据用户认证页面选择认证方式进行认证,前端页面直接调用本地安全代理服务进行认证;
本地安全代理服务解析接收的认证请求,并将解析后的认证请求信息发送至认证中心服务端;
认证中心服务端返回与认证请求信息对应的认证结果;
本地安全代理服务解析认证结果,并在认证结果为认证通过的情况下,保存和管理会话信息并返回至前端页面;
前端页面展示认证成功页面。
可选地,还包括:在认证结果为认证不通过的情况下,则显示错误信息。
可选地,在前端页面调用本地安全代理服务认证之前,还包括:
前端页面调用本地安全代理服务获取SM2的公钥信息;
本地安全代理服务接收到请求后,生成一对SM2的公私钥保存到本地缓存中;
本地安全代理服务携带SM2的公钥信息,调用认证中心服务端申请临时SM4密钥信息;
认证中心服务端接收到请求后,生成随机数uuid和16位的SM4密钥信息,并存放在认证中心服务端的缓存中;
认证中心服务端利用SM2的公钥信息对随机数uuid和16位的SM4密钥信息进行加密,并将加密报文返回至本地安全代理服务;
本地安全代理服务使用公私钥的私钥信息对加密报文进行解密,获取随机数uuid和16位的SM4密钥信息;
本地安全代理服务将SM2的公钥信息返回至前端页面;
前端页面获取到SM2的公钥信息后,对认证报文进行加密,并将加密报文请求发送到到本地安全代理服务;
本地安全代理服务使用SM2的私钥信息对加密报文请求进行解密,解密后使用获取到的SM4密钥信息对认证报文的明文进行SM4的加密,同时携带随机数uuid,请求认证中心服务端进行认证;
认证中心服务端获取到随机数uuid后根据随机数uuid获取SM4密钥信息,通过SM4密钥信息对认证报文进行解密,解密后进行认证校验,认证校验通过后,创建服务端会话信息,同时将SM4的密钥信息与会话信息进行绑定,绑定后本次会话的SM4密钥信息不再变更。
可选地,还包括:在本次会话失效后,SM4密钥信息同时失效。
可选地,还包括:
当用户在同一终端设备上,通过第一个客户端访问第一业务系统时,第一业务系统如果没有登录,则跳转至认证中心;
认证中心的前端页面调用本地安全代理服务进行单点登录请求,本地安全代理服务校验是否存在有效会话,如果存在有效会话,则携带会话信息调用不同认证协议下的相关接口请求认证中心服务端;
认证中心服务端根据请求协议生成不同的返回报文;
本地安全代理服务将报文返回给前端页面,前端页面再去根据协议及返回报文,跳转到请求的第一业务系统;
第一业务系统根据返回报文获取当前登录用户信息,完成第一业务系统的登录;
当用户已经通过本地安全代理服务完成过登录认证后,再次使用终端设备的第二客户端访问第二个业务系统时,第二业务系统在第二客户端下访问到认证中心时,第二客户端直接通过本地安全代理服务获取到会话信息,并通过本地安全代理服务将单点登录请求转发到认证中心服务端;
认证中心服务端返回响应请求报文,本地安全代理服务再将报文返回给当前请求的第二客户端;
第二客户端下将请求信息返回给第二个业务系统,业务系统则根据返回报文获取当前登录用户信息,完成第二客户端下第二个业务系统的登录。
可选地,还包括:如果不存在有效会话则先完成登录认证后,再进行有会话的逻辑处理。
根据本发明的另一个方面,提供了一种基于本地安全代理服务的跨客户端单点登录装置,包括:
会话校验模块,用于在用户访问业务系统时,业务系统请求到认证中心进行认证,前端页面调用本地安全代理服务进行用户的会话校验,在存在有效会话的情况下,返回已存在的会话信息;
认证模块,用于在会话校验不存在有效会话的情况下,展示用户认证页面,用户根据用户认证页面选择认证方式进行认证,前端页面直接调用本地安全代理服务进行认证;
接收模块,用于本地安全代理服务解析接收的认证请求,并将解析后的认证请求信息发送至认证中心服务端;
第一返回模块,用于认证中心服务端返回与认证请求信息对应的认证结果;
第二返回模块,用于本地安全代理服务解析认证结果,并在认证结果为认证通过的情况下,保存和管理会话信息并返回至前端页面;
展示模块,用于前端页面展示认证成功页面。
根据本发明的又一个方面,提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序用于执行本发明上述任一方面所述的方法。
根据本发明的又一个方面,提供了一种电子设备,所述电子设备包括:处理器;用于存储所述处理器可执行指令的存储器;所述处理器,用于从所述存储器中读取所述可执行指令,并执行所述指令以实现本发明上述任一方面所述的方法。
从而,本申请基于本地安全代理服务的跨客户端单点登录设计,可实现跨客户端的单点登录,支持不同业务系统通过不同浏览器或不同客户端下会话共享,有效解决使用不同浏览器或不同客户端的业务系统,完成安全单点登录,达到真正的“一次认证、多业务通行”。
附图说明
通过参考下面的附图,可以更为完整地理解本发明的示例性实施方式:
图1是本发明一示例性实施例提供的基于本地安全代理服务的跨客户端单点登录方法的流程示意图;
图2是本发明一示例性实施例提供的登录认证的流程示意图;
图3是本发明一示例性实施例提供的数据加密交互的流程示意图;
图4是本发明一示例性实施例提供的跨客户端单点登录的流程示意图;
图5是本发明一示例性实施例提供的基于本地安全代理服务的跨客户端单点登录装置的结构示意图;
图6是本发明一示例性实施例提供的电子设备的结构。
具体实施方式
下面,将参考附图详细地描述根据本发明的示例实施例。显然,所描述的实施例仅仅是本发明的一部分实施例,而不是本发明的全部实施例,应理解,本发明不受这里描述的示例实施例的限制。
应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。
本领域技术人员可以理解,本发明实施例中的“第一”、“第二”等术语仅用于区别不同步骤、设备或模块等,既不代表任何特定技术含义,也不表示它们之间的必然逻辑顺序。
还应理解,在本发明实施例中,“多个”可以指两个或两个以上,“至少一个”可以指一个、两个或两个以上。
还应理解,对于本发明实施例中提及的任一部件、数据或结构,在没有明确限定或者在前后文给出相反启示的情况下,一般可以理解为一个或多个。
另外,本发明中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本发明中字符“/”,一般表示前后关联对象是一种“或”的关系。
还应理解,本发明对各个实施例的描述着重强调各个实施例之间的不同之处,其相同或相似之处可以相互参考,为了简洁,不再一一赘述。
同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,技术、方法和设备应当被视为说明书的一部分。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
本发明实施例可以应用于终端设备、计算机系统、服务器等电子设备,其可与众多其它通用或专用计算系统环境或配置一起操作。适于与终端设备、计算机系统、服务器等电子设备一起使用的众所周知的终端设备、计算系统、环境和/或配置的例子包括但不限于:个人计算机系统、服务器计算机系统、瘦客户机、厚客户机、手持或膝上设备、基于微处理器的系统、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机系统﹑大型计算机系统和包括上述任何系统的分布式云计算技术环境,等等。
终端设备、计算机系统、服务器等电子设备可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括例程、程序、目标程序、组件、逻辑、数据结构等等,它们执行特定的任务或者实现特定的抽象数据类型。计算机系统/服务器可以在分布式云计算环境中实施,分布式云计算环境中,任务是由通过通信网络链接的远程处理设备执行的。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。
示例性方法
图1是本发明一示例性实施例提供的基于本地安全代理服务的跨客户端单点登录方法的流程示意图。本实施例可应用在电子设备上,如图1所示,基于本地安全代理服务的跨客户端单点登录方法100包括以下步骤:
步骤101,在用户访问业务系统时,业务系统请求到认证中心进行认证,前端页面调用本地安全代理服务进行用户的会话校验,在存在有效会话的情况下,返回已存在的会话信息;
步骤102,在会话校验不存在有效会话的情况下,展示用户认证页面,用户根据用户认证页面选择认证方式进行认证,前端页面直接调用本地安全代理服务进行认证;
步骤103,本地安全代理服务解析接收的认证请求,并将解析后的认证请求信息发送至认证中心服务端;
步骤104,认证中心服务端返回与认证请求信息对应的认证结果;
步骤105,本地安全代理服务解析认证结果,并在认证结果为认证通过的情况下,保存和管理会话信息并返回至前端页面;
步骤106,前端页面展示认证成功页面。
可选地,还包括:在认证结果为认证不通过的情况下,则显示错误信息。
可选地,在前端页面调用本地安全代理服务认证之前,还包括:
前端页面调用本地安全代理服务获取SM2的公钥信息;
本地安全代理服务接收到请求后,生成一对SM2的公私钥保存到本地缓存中;
本地安全代理服务携带SM2的公钥信息,调用认证中心服务端申请临时SM4密钥信息;
认证中心服务端接收到请求后,生成随机数uuid和16位的SM4密钥信息,并存放在认证中心服务端的缓存中;
认证中心服务端利用SM2的公钥信息对随机数uuid和16位的SM4密钥信息进行加密,并将加密报文返回至本地安全代理服务;
本地安全代理服务使用公私钥的私钥信息对加密报文进行解密,获取随机数uuid和16位的SM4密钥信息;
本地安全代理服务将SM2的公钥信息返回至前端页面;
前端页面获取到SM2的公钥信息后,对认证报文进行加密,并将加密报文请求发送到到本地安全代理服务;
本地安全代理服务使用SM2的私钥信息对加密报文请求进行解密,解密后使用获取到的SM4密钥信息对认证报文的明文进行SM4的加密,同时携带随机数uuid,请求认证中心服务端进行认证;
认证中心服务端获取到随机数uuid后根据随机数uuid获取SM4密钥信息,通过SM4密钥信息对认证报文进行解密,解密后进行认证校验,认证校验通过后,创建服务端会话信息,同时将SM4的密钥信息与会话信息进行绑定,绑定后本次会话的SM4密钥信息不再变更。
可选地,还包括:在本次会话失效后,SM4密钥信息同时失效。
可选地,还包括:
当用户在同一终端设备上,通过第一个客户端访问第一业务系统时,第一业务系统如果没有登录,则跳转至认证中心;
认证中心的前端页面调用本地安全代理服务进行单点登录请求,本地安全代理服务校验是否存在有效会话,如果存在有效会话,则携带会话信息调用不同认证协议下的相关接口请求认证中心服务端;
认证中心服务端根据请求协议生成不同的返回报文;
本地安全代理服务将报文返回给前端页面,前端页面再去根据协议及返回报文,跳转到请求的第一业务系统;
第一业务系统根据返回报文获取当前登录用户信息,完成第一业务系统的登录;
当用户已经通过本地安全代理服务完成过登录认证后,再次使用终端设备的第二客户端访问第二个业务系统时,第二业务系统在第二客户端下访问到认证中心时,第二客户端直接通过本地安全代理服务获取到会话信息,并通过本地安全代理服务将单点登录请求转发到认证中心服务端;
认证中心服务端返回响应请求报文,本地安全代理服务再将报文返回给当前请求的第二客户端;
第二客户端下将请求信息返回给第二个业务系统,业务系统则根据返回报文获取当前登录用户信息,完成第二客户端下第二个业务系统的登录。
可选地,还包括:如果不存在有效会话则先完成登录认证后,再进行有会话的逻辑处理。
具体地,本发明后端采用JAVA语言开发,前端使用vue框架,本地安全代理服务使用C#开发,在登录认证或单点登录时,通过本地安全代理服务进行转发,实现跨客户端的单点登录。
本发明设计如下:
1、登录认证,如图2所示:
当用户访问业务系统,业务系统请求到认证中心进行认证时,前端调用本地安全代理服务进行会话校验,如果存在有效会话,则返回已存在会话信息,如果不存在有效会话,则展示用户认证页面,用户选择认证方式进行认证时,前端页面直接调用本地安全代理服务进行认证,本地安全代理服务解析接收到的请求,并对请求进行处理后转发至认证中心服务端,认证中心服务端返回认证结果,如果认证不通过,则返回错误提示,如果认证通过则颁发当前用户的会话信息,本地安全代理服务接收到返回报文后,将会话信息进行保存和管理,并返回前端页面,前端页面展示登录认证成功页面。
2、数据加密交互,如图3所示:
当前端调用本地安全代理服务进行认证时,先调用本地安全代理服务获取SM2的公钥信息用于后续交互时加密,本地安全代理服务接收到请求后,生成一对SM2的公私钥,保存到本地缓存中,同时携带SM2的公钥信息,调用认证中心服务端申请临时SM4密钥信息,认证服务中心接收到请求后,生成随机数uuid和16位的SM4密钥,放在认证服务中心的缓存中,生成后用SM2的公钥对返回的uuid和16位SM4密钥进行加密,将加密后的报文返回至本地安全代理服务,本地安全代理服务使用SM2的私钥对报文进行解密,获取uuid和SM4的密钥,并将获取到的uuid和SM4保存起来,同时返回SM2的公钥信息给前端页面。
前端页面获取到SM2公钥后,对认证报文进行加密,将加密后报文请求到本地安全代理服务,本地安全代理服务使用SM2私钥进行解密,解密后使用获取到的SM4密钥对明文进行SM4的加密,同时携带上一步返回的uuid,请求认证中心服务端进行认证,认证中心服务端获取到uuid后根据uuid获取SM4密钥,通过SM4密钥对报文进行解密,解密后进行认证校验,认证校验通过后,创建服务端会话信息,同时将SM4的密钥信息与会话信息进行绑定,绑定后本次会话的SM4密钥不再变更,后续其他请求根据会话便可获取SM4的密钥进行加解密,会话失效后密钥同时失效。
3、跨客户端单点登录,如图4所示:
当用户在同一电脑上,通过客户端1访问业务系统A时,业务系统A如果没有登录,则跳转认证中心,认证中心前端页面调用本地安全代理服务进行单点登录请求,本地安全代理服务校验是否存在有效会话,如果存在有效会话,则携带会话信息调用不同认证协议下的相关接口请求认证中心服务端,认证中心服务端根据请求协议生成不同的返回报文,认证中心返回请求报文后,本地安全代理服务将报文返回给前端,前端再去根据协议及返回报文,跳转到请求的业务系统A,业务系统A根据返回报文获取当前登录用户信息,完成业务系统A的登录;如果不存在有效会话则先完成登录认证后,再进行有会话的逻辑处理。
当用户已经通过本地安全代理服务完成过登录认证后,再次使用客户端2访问业务系统B时,业务系统B在当前客户端下访问到认证中心时,当前客户端则可以直接通过本地安全代理服务获取到会话信息,并通过本地安全代理服务将单点登录请求转发到认证中心服务端,无需再次登录,认证中心服务端返回响应请求报文,本地安全代理服务再将报文返回给当前请求的客户端2,当前客户端2下将请求信息返回给业务系统B,业务系统B则根据返回报文获取当前登录用户信息,完成客户端2下业务系统B的登录。
本发明的关键点如下:
1、采用本地安全代理服务统一管理会话信息,做到不同客户端下通过本地安全代理服务获取会话信息,从而达到同一电脑不同客户端的会话共享,可实现跨客户端的单点登录;
2、用户每次登录时动态生成新的SM2公私钥和SM4加密密钥值,并将密钥值与登录会话进行绑定,只在会话有效期内密钥值有效,动态且一定时间内有效的密钥值,大大降低了密钥被破解的风险;
从而,本申请基于本地安全代理服务的跨客户端单点登录设计,可实现跨客户端的单点登录,支持不同业务系统通过不同浏览器或不同客户端下会话共享,有效解决使用不同浏览器或不同客户端的业务系统,完成安全单点登录,达到真正的“一次认证、多业务通行”。同时通过动态及一定时间内有效的随机密钥对网络传输的数据进行加密处理,有效防止网络数据传输中信息泄露、信息窃取、数据篡改等问题的同时,降低了密钥被暴力破解的风险,大大的提高了数据传输的安全性,增强网络信息安全,为信息化发展保驾护航。
示例性装置
图5是本发明一示例性实施例提供的基于本地安全代理服务的跨客户端单点登录装置的结构示意图。如图5所示,装置500包括:
会话校验模块,用于在用户访问业务系统时,业务系统请求到认证中心进行认证,前端页面调用本地安全代理服务进行用户的会话校验,在存在有效会话的情况下,返回已存在的会话信息;
认证模块,用于在会话校验不存在有效会话的情况下,展示用户认证页面,用户根据用户认证页面选择认证方式进行认证,前端页面直接调用本地安全代理服务进行认证;
接收模块,用于本地安全代理服务解析接收的认证请求,并将解析后的认证请求信息发送至认证中心服务端;
第一返回模块,用于认证中心服务端返回与认证请求信息对应的认证结果;
第二返回模块,用于本地安全代理服务解析认证结果,并在认证结果为认证通过的情况下,保存和管理会话信息并返回至前端页面;
展示模块,用于前端页面展示认证成功页面。
可选地,装置500还包括:显示模块,用于在认证结果为认证不通过的情况下,则显示错误信息。
可选地,在前端页面调用本地安全代理服务认证之前,装置500还包括:
第一获取模块,用于前端页面调用本地安全代理服务获取SM2的公钥信息;
第一生成模块,用于本地安全代理服务接收到请求后,生成一对SM2的公私钥保存到本地缓存中;
调用模块,用于本地安全代理服务携带SM2的公钥信息,调用认证中心服务端申请临时SM4密钥信息;
第二生成模块,用于认证中心服务端接收到请求后,生成随机数uuid和16位的SM4密钥信息,并存放在认证中心服务端的缓存中;
第一加密模块,用于认证中心服务端利用SM2的公钥信息对随机数uuid和16位的SM4密钥信息进行加密,并将加密报文返回至本地安全代理服务;
第一解密模块,用于本地安全代理服务使用公私钥的私钥信息对加密报文进行解密,获取随机数uuid和16位的SM4密钥信息;
第三返回模块,用于本地安全代理服务将SM2的公钥信息返回至前端页面;
第二加密模块,用于前端页面获取到SM2的公钥信息后,对认证报文进行加密,并将加密报文请求发送到到本地安全代理服务;
第二解密模块,用于本地安全代理服务使用SM2的私钥信息对加密报文请求进行解密,解密后使用获取到的SM4密钥信息对认证报文的明文进行SM4的加密,同时携带随机数uuid,请求认证中心服务端进行认证;
第一校验模块,用于认证中心服务端获取到随机数uuid后根据随机数uuid获取SM4密钥信息,通过SM4密钥信息对认证报文进行解密,解密后进行认证校验,认证校验通过后,创建服务端会话信息,同时将SM4的密钥信息与会话信息进行绑定,绑定后本次会话的SM4密钥信息不再变更。
可选地,装置500还包括:失效模块,用于在本次会话失效后,SM4密钥信息同时失效。
可选地,装置500还包括:
跳转模块,用于当用户在同一终端设备上,通过第一个客户端访问第一业务系统时,第一业务系统如果没有登录,则跳转至认证中心;
第二校验模块,用于认证中心的前端页面调用本地安全代理服务进行单点登录请求,本地安全代理服务校验是否存在有效会话,如果存在有效会话,则携带会话信息调用不同认证协议下的相关接口请求认证中心服务端;
第三生成模块,用于认证中心服务端根据请求协议生成不同的返回报文;
第四返回模块,用于本地安全代理服务将报文返回给前端页面,前端页面再去根据协议及返回报文,跳转到请求的第一业务系统;
第二获取模块,用于第一业务系统根据返回报文获取当前登录用户信息,完成第一业务系统的登录;
转发模块,用于当用户已经通过本地安全代理服务完成过登录认证后,再次使用终端设备的第二客户端访问第二个业务系统时,第二业务系统在第二客户端下访问到认证中心时,第二客户端直接通过本地安全代理服务获取到会话信息,并通过本地安全代理服务将单点登录请求转发到认证中心服务端;
第五返回模块,用于认证中心服务端返回响应请求报文,本地安全代理服务再将报文返回给当前请求的第二客户端;
登录模块,用于第二客户端下将请求信息返回给第二个业务系统,业务系统则根据返回报文获取当前登录用户信息,完成第二客户端下第二个业务系统的登录。
可选地,装置500还包括:逻辑处理模块,用于如果不存在有效会话则先完成登录认证后,再进行有会话的逻辑处理。
示例性电子设备
图6是本发明一示例性实施例提供的电子设备的结构。如图6所示,电子设备60包括一个或多个处理器61和存储器62。
处理器61可以是中央处理单元(CPU)或者具有数据处理能力和/或指令执行能力的其他形式的处理单元,并且可以控制电子设备中的其他组件以执行期望的功能。
存储器62可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器61可以运行所述程序指令,以实现上文所述的本发明的各个实施例的软件程序的方法以及/或者其他期望的功能。在一个示例中,电子设备还可以包括:输入装置63和输出装置64,这些组件通过总线系统和/或其他形式的连接机构(未示出)互连。
此外,该输入装置63还可以包括例如键盘、鼠标等等。
该输出装置64可以向外部输出各种信息。该输出装置64可以包括例如显示器、扬声器、打印机、以及通信网络及其所连接的远程输出设备等等。
当然,为了简化,图6中仅示出了该电子设备中与本发明有关的组件中的一些,省略了诸如总线、输入/输出接口等的组件。除此之外,根据具体应用情况,电子设备还可以包括任何其他适当的组件。
示例性计算机程序产品和计算机可读存储介质
除了上述方法和设备以外,本发明的实施例还可以是计算机程序产品,其包括计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本发明各种实施例的方法中的步骤。
所述计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本发明实施例操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如Java、C++等,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。
此外,本发明的实施例还可以是计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本发明各种实施例的方法中的步骤。
所述计算机可读存储介质可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、系统或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
以上结合具体实施例描述了本发明的基本原理,但是,需要指出的是,在本发明中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势、效果等是本发明的各个实施例必须具备的。另外,上述公开的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本发明为必须采用上述具体的细节来实现。
本说明书中各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似的部分相互参见即可。对于系统实施例而言,由于其与方法实施例基本对应,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本发明中涉及的器件、系统、设备、系统的方框图仅作为例示性的例子并且不意图要求或暗示必须按照方框图示出的方式进行连接、布置、配置。如本领域技术人员将认识到的,可以按任意方式连接、布置、配置这些器件、系统、设备、系统。诸如“包括”、“包含”、“具有”等等的词语是开放性词汇,指“包括但不限于”,且可与其互换使用。这里所使用的词汇“或”和“和”指词汇“和/或”,且可与其互换使用,除非上下文明确指示不是如此。这里所使用的词汇“诸如”指词组“诸如但不限于”,且可与其互换使用。
可能以许多方式来实现本发明的方法和系统。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本发明的方法和系统。用于所述方法的步骤的上述顺序仅是为了进行说明,本发明的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本发明实施为记录在记录介质中的程序,这些程序包括用于实现根据本发明的方法的机器可读指令。因而,本发明还覆盖存储用于执行根据本发明的方法的程序的记录介质。
还需要指出的是,在本发明的系统、设备和方法中,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本发明的等效方案。提供所公开的方面的以上描述以使本领域的任何技术人员能够做出或者使用本发明。对这些方面的各种修改对于本领域技术人员而言是非常显而易见的,并且在此定义的一般原理可以应用于其他方面而不脱离本发明的范围。因此,本发明不意图被限制到在此示出的方面,而是按照与在此公开的原理和新颖的特征一致的最宽范围。
为了例示和描述的目的已经给出了以上描述。此外,此描述不意图将本发明的实施例限制到在此公开的形式。尽管以上已经讨论了多个示例方面和实施例,但是本领域技术人员将认识到其某些变型、修改、改变、添加和子组合。
Claims (10)
1.一种基于本地安全代理服务的跨客户端单点登录方法,其特征在于,包括:
在用户访问业务系统时,所述业务系统请求到认证中心进行认证,前端页面调用本地安全代理服务进行所述用户的会话校验,在存在有效会话的情况下,返回已存在的会话信息;
在所述会话校验不存在有效会话的情况下,展示用户认证页面,所述用户根据所述用户认证页面选择认证方式进行认证,所述前端页面直接调用所述本地安全代理服务进行认证;
所述本地安全代理服务解析接收的认证请求,并将解析后的认证请求信息发送至认证中心服务端;
所述认证中心服务端返回与所述认证请求信息对应的认证结果;
所述本地安全代理服务解析所述认证结果,并在所述认证结果为认证通过的情况下,保存和管理会话信息并返回至所述前端页面;
所述前端页面展示认证成功页面。
2.根据权利要求1所述的方法,其特征在于,还包括:在所述认证结果为认证不通过的情况下,则显示错误信息。
3.根据权利要求1所述的方法,其特征在于,在所述前端页面调用所述本地安全代理服务认证之前,还包括:
所述前端页面调用所述本地安全代理服务获取SM2的公钥信息;
所述本地安全代理服务接收到请求后,生成一对SM2的公私钥保存到本地缓存中;
所述本地安全代理服务携带SM2的公钥信息,调用所述认证中心服务端申请临时SM4密钥信息;
所述认证中心服务端接收到请求后,生成随机数uuid和16位的SM4密钥信息,并存放在所述认证中心服务端的缓存中;
所述认证中心服务端利用SM2的所述公钥信息对所述随机数uuid和16位的SM4密钥信息进行加密,并将加密报文返回至所述本地安全代理服务;
所述本地安全代理服务使用所述公私钥的私钥信息对所述加密报文进行解密,获取所述随机数uuid和16位的SM4密钥信息;
所述本地安全代理服务将SM2的公钥信息返回至所述前端页面;
所述前端页面获取到SM2的公钥信息后,对认证报文进行加密,并将加密报文请求发送到到所述本地安全代理服务;
所述本地安全代理服务使用SM2的私钥信息对所述加密报文请求进行解密,解密后使用获取到的SM4密钥信息对认证报文的明文进行SM4的加密,同时携带随机数uuid,请求所述认证中心服务端进行认证;
所述认证中心服务端获取到随机数uuid后根据随机数uuid获取SM4密钥信息,通过SM4密钥信息对认证报文进行解密,解密后进行认证校验,认证校验通过后,创建服务端会话信息,同时将SM4的密钥信息与会话信息进行绑定,绑定后本次会话的SM4密钥信息不再变更。
4.根据权利要求3所述的方法,其特征在于,还包括:在本次会话失效后,所述SM4密钥信息同时失效。
5.根据权利要求1所述的方法,其特征在于,还包括:
当所述用户在同一终端设备上,通过第一个客户端访问第一业务系统时,所述第一业务系统如果没有登录,则跳转至认证中心;
认证中心的所述前端页面调用所述本地安全代理服务进行单点登录请求,所述本地安全代理服务校验是否存在有效会话,如果存在有效会话,则携带会话信息调用不同认证协议下的相关接口请求所述认证中心服务端;
所述认证中心服务端根据请求协议生成不同的返回报文;
所述本地安全代理服务将报文返回给所述前端页面,所述前端页面再去根据协议及返回报文,跳转到请求的所述第一业务系统;
所述第一业务系统根据返回报文获取当前登录用户信息,完成所述第一业务系统的登录;
当所述用户已经通过所述本地安全代理服务完成过登录认证后,再次使用所述终端设备的第二客户端访问第二个业务系统时,所述第二业务系统在所述第二客户端下访问到认证中心时,所述第二客户端直接通过所述本地安全代理服务获取到会话信息,并通过所述本地安全代理服务将单点登录请求转发到认证中心服务端;
所述认证中心服务端返回响应请求报文,所述本地安全代理服务再将报文返回给当前请求的所述第二客户端;
所述第二客户端下将请求信息返回给所述第二个业务系统,所述业务系统则根据返回报文获取当前登录用户信息,完成所述第二客户端下所述第二个业务系统的登录。
6.根据权利要求5所述的方法,其特征在于,还包括:如果不存在有效会话则先完成登录认证后,再进行有会话的逻辑处理。
7.一种基于本地安全代理服务的跨客户端单点登录装置,其特征在于,包括:
会话校验模块,用于在用户访问业务系统时,所述业务系统请求到认证中心进行认证,前端页面调用本地安全代理服务进行所述用户的会话校验,在存在有效会话的情况下,返回已存在的会话信息;
认证模块,用于在所述会话校验不存在有效会话的情况下,展示用户认证页面,所述用户根据所述用户认证页面选择认证方式进行认证,所述前端页面直接调用所述本地安全代理服务进行认证;
接收模块,用于所述本地安全代理服务解析接收的认证请求,并将解析后的认证请求信息发送至认证中心服务端;
第一返回模块,用于所述认证中心服务端返回与所述认证请求信息对应的认证结果;
第二返回模块,用于所述本地安全代理服务解析所述认证结果,并在所述认证结果为认证通过的情况下,保存和管理会话信息并返回至所述前端页面;
展示模块,用于所述前端页面展示认证成功页面。
8.根据权利要求7所述的方法,其特征在于,还包括:显示模块,用于在所述认证结果为认证不通过的情况下,则显示错误信息。
9.一种计算机可读存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序用于执行上述权利要求1-6任一所述的方法。
10.一种电子设备,其特征在于,所述电子设备包括:
处理器;
用于存储所述处理器可执行指令的存储器;
所述处理器,用于从所述存储器中读取所述可执行指令,并执行所述指令以实现上述权利要求1-6任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311150954.6A CN117240528A (zh) | 2023-09-07 | 2023-09-07 | 一种基于本地安全代理服务的跨客户端单点登录方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311150954.6A CN117240528A (zh) | 2023-09-07 | 2023-09-07 | 一种基于本地安全代理服务的跨客户端单点登录方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117240528A true CN117240528A (zh) | 2023-12-15 |
Family
ID=89085424
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311150954.6A Pending CN117240528A (zh) | 2023-09-07 | 2023-09-07 | 一种基于本地安全代理服务的跨客户端单点登录方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117240528A (zh) |
-
2023
- 2023-09-07 CN CN202311150954.6A patent/CN117240528A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7119142B2 (ja) | デジタルid検証方法及び装置、電子機器、非一時的コンピュータ可読記憶媒体並びにプログラム | |
US11122035B2 (en) | Secure delegation of a refresh token for long-running operations | |
US7747856B2 (en) | Session ticket authentication scheme | |
US20180337784A1 (en) | Coordinating access authorization across multiple systems at different mutual trust levels | |
WO2017028804A1 (zh) | 一种Web实时通信平台鉴权接入方法及装置 | |
CN110048848B (zh) | 通过被动客户端发送会话令牌的方法、系统和存储介质 | |
US20100043065A1 (en) | Single sign-on for web applications | |
US9584615B2 (en) | Redirecting access requests to an authorized server system for a cloud service | |
US9401911B2 (en) | One-time password certificate renewal | |
US20090199276A1 (en) | Proxy authentication | |
US10581806B2 (en) | Service providing method, service requesting method, information processing device, and client device | |
CN112583834B (zh) | 一种通过网关单点登录的方法和装置 | |
CN110851800B (zh) | 代码保护方法、装置、系统及可读存储介质 | |
CN113742676B (zh) | 一种登录管理方法、装置、服务器、系统及存储介质 | |
CN114417344A (zh) | 资源安全集成平台 | |
CN114785590A (zh) | 登录方法、装置、设备、存储介质 | |
CN114584381A (zh) | 基于网关的安全认证方法、装置、电子设备和存储介质 | |
CN112560003A (zh) | 用户权限管理方法和装置 | |
CN114978605A (zh) | 页面访问方法、装置、电子设备及存储介质 | |
CN112541828B (zh) | 实现开放证券管理及开放证券api接入控制的系统、方法、装置、处理器及其存储介质 | |
CN111935092B (zh) | 一种基于第三方应用的信息交互方法、装置和电子设备 | |
CN117240528A (zh) | 一种基于本地安全代理服务的跨客户端单点登录方法 | |
CN114584378A (zh) | 数据处理方法、装置、电子设备和介质 | |
CN114117404A (zh) | 一种用户认证方法、装置、设备、系统及存储介质 | |
CN109462604B (zh) | 一种数据传输方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |