CN109587147A - 一种单点登录***、方法、服务器及存储介质 - Google Patents
一种单点登录***、方法、服务器及存储介质 Download PDFInfo
- Publication number
- CN109587147A CN109587147A CN201811512433.XA CN201811512433A CN109587147A CN 109587147 A CN109587147 A CN 109587147A CN 201811512433 A CN201811512433 A CN 201811512433A CN 109587147 A CN109587147 A CN 109587147A
- Authority
- CN
- China
- Prior art keywords
- server
- cache
- bill
- application
- application 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.)
- Pending
Links
- 238000003860 storage Methods 0.000 title claims abstract description 90
- 238000000034 method Methods 0.000 title claims abstract description 60
- 230000002441 reversible effect Effects 0.000 claims description 23
- 238000012545 processing Methods 0.000 claims description 17
- 238000009826 distribution Methods 0.000 claims description 12
- 238000004891 communication Methods 0.000 claims description 11
- 238000010586 diagram Methods 0.000 description 18
- 230000007246 mechanism Effects 0.000 description 18
- 238000012512 characterization method Methods 0.000 description 13
- 230000005540 biological transmission Effects 0.000 description 9
- 238000004590 computer program Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 7
- 230000008569 process Effects 0.000 description 5
- 230000004044 response Effects 0.000 description 5
- 238000004140 cleaning Methods 0.000 description 3
- 238000000151 deposition Methods 0.000 description 3
- 230000002123 temporal effect Effects 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 238000009434 installation Methods 0.000 description 2
- 230000002688 persistence Effects 0.000 description 2
- 238000005201 scrubbing Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 235000014510 cooky Nutrition 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000012549 training Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0815—Network architectures or network communication protocols for network security for authentication of entities providing single-sign-on or federations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
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
技术领域
本发明涉及计算机领域的认证技术,尤其涉及一种单点登录***、方法、服务器及存储介质。
背景技术
随着互联网的飞速发展,同一企业内部各类应用***不断增多,而各个应用***的访问机制和安全策略各异,因此,在各个应用***之间的登录成了让人头疼的问题。单点登录(SSO,Single Sign On)是指在多个应用***中,用户只需要登录一次就可以访问所有相互信任的应用***,是目前比较流行的进行企业的应用***整合的解决方案之一。然而,虽然单点登录能够解决用户在各应用***之间的跨域访问,但是当大量用户并发访问时,如何保障应用***的可靠稳定以及快速响应是目前亟需解决的问题。
现有技术中,针对采用单点登录方式的各应用***的并发访问问题,通常采用Nginx(Engin x,高性能)服务器实现CAS集群完成用户的单点登录。然而,采用Nginx服务器实现的是用户与认证服务器的点对点认证,在认证服务器失效后,会导致与该认证服务器进行点对点认证的用户的认证信息丢失,出现单点故障,因此,认证机制的安全性低。
发明内容
为解决上述技术问题,本发明实施例期望提供一种单点登录***、方法、服务器及存储介质,能够提高单点登录对应认证机制的安全性。
本发明的技术方案是这样实现的:
第一方面,本发明实施例提供了一种单点登录***,所述***包括中央认证服务器和缓存服务器,所述中央认证服务器上安装有预设存储插件,所述预设存储插件用于实现登录票据在所述缓存服务器上的存储,所述***包括:
所述中央认证服务器,用于当终端在第一应用服务器登录成功时,生成所述登录票据,所述登录票据表征所述终端在所述第一应用服务器的登录成功凭据;通过所述预设存储插件,将所述登录票据发送至所述缓存服务器;
所述缓存服务器,用于存储所述登录票据;根据存储后的所述登录票据,在与所述第一应用服务器相互信任的应用服务器上实现单点登录。
在上述方案中,所述中央认证服务器的数量为至少一个,所述***还包括:反向代理服务器;
所述反向代理服务器,用于基于预设轮询策略向至少一个所述中央认证服务器分发应用访问请求;
所述中央认证服务器,还用于根据所述应用访问请求,确定所述终端在所述第一应用服务器登录成功。
在上述方案中,所述存储所述登录票据,具体包括将所述登录票据通过缓存对象和所述缓存对象对应的价值信息进行存储;则,
所述缓存服务器,还用于根据所述缓存对象的读取性能信息、访问频率信息、访问时间信息和中央认证服务器数量信息确定所述缓存对象对应的价值信息;删除所述价值信息低于预设阈值的缓存对象。
第二方面,本发明实施例提供了一种单点登录方法,应用于中央认证服务器,所述中央认证服务器上安装有预设存储插件,所述预设存储插件用于实现登录票据在缓存服务器上的存储,所述方法包括:
当终端在第一应用服务器登录成功时,生成所述登录票据,所述登录票据表征所述终端在所述第一应用服务器的登录成功凭据;
通过所述预设存储插件,将所述登录票据发送至所述缓存服务器,使得根据所述缓存服务器中存储后的所述登录票据在与所述第一应用服务器相互信任的应用服务器上实现单点登录。
在上述方案中,所述缓存服务器还用于存储服务票据,所述将所述登录票据发送至所述缓存服务器之后,所述方法还包括:
当接收到所述终端对第二应用服务器的访问请求时,根据所述终端对所述第二应用服务器的访问请求从所述缓存服务器中获取所述登录票据,所述第二应用服务器是与所述第一应用服务器互相信任的应用服务器;
根据所述登录票据,生成服务票据,所述服务票据表征所述终端在所述第二应用服务器的访问凭据;
通过所述预设存储插件,将所述服务票据发送至所述缓存服务器,使得根据所述缓存服务器中存储后的所述服务票据完成在所述第一应用服务器和所述第二应用服务器上的单点登录。
在上述方案中,所述中央认证服务器的数量为至少一个,所述生成所述登录票据之前,所述方法还包括:
接收反向代理服务器分发的应用访问请求,所述应用访问请求为所述代理服务器基于预设轮询策略向至少一个所述中央认证服务器进行分发的请求;
根据所述应用访问请求,确定所述终端在所述第一应用服务器登录成功。
第三方面,本发明实施例还提供了一种单点登录方法,应用于缓存服务器,所述方法包括:
接收中央认证服务器发送的登录票据,所述登录票据表征终端在第一应用服务器的登录成功凭据;
存储所述登录票据;
根据存储后的所述登录票据,在与所述第一应用服务器相互信任的应用服务器上实现单点登录。
在上述方案中,所述存储所述登录票据,具体包括:将所述登录票据通过缓存对象和所述缓存对象对应的价值信息进行存储;则,该方法还包括:
根据所述缓存对象的读取性能信息、访问频率信息、访问时间信息和中央认证服务器数量信息确定所述缓存对象对应的价值信息;
删除所述价值信息低于预设阈值的缓存对象。
在上述方案中,所述缓存服务器还用于存储服务票据,所述根据存储后的所述登录票据,在与所述第一应用服务器相互信任的应用服务器上实现单点登录,包括:
接收所述中央认证服务器发送的所述服务票据,所述服务票据表征所述终端在第二应用服务器的访问凭据,所述第二应用服务器是与所述第一应用服务器互相信任的应用服务器;
存储所述服务票据;
根据存储后的所述服务票据,完成在所述第一应用服务器和所述第二应用服务器上的单点登录。
在上述方案中,所述缓存服务器还用于存储所述终端的访问信息,所述访问信息包括登录账户信息、基本信息和权限信息中的至少一种。
在上述方案中,所述接收中央认证服务器发送的登录票据之前,所述方法还包括:
将所述登录票据对应的历史登录票据删除,实现单态登录。
第四方面,本发明实施例提供了一种中央认证服务器,所述中央认证服务器包括:发送器、第一处理器、第一存储器和第一通信总线,所述发送器和所述第一存储器通过所述第一通信总线与所述第一处理器进行通信,所述第一存储器存储所述第一处理器可执行的程序,当所述程序被执行时,通过所述发送器和所述第一处理器执行如上述所述的单点登录方法。
第五方面,本发明实施例提供了一种计算机可读存储介质,其上存储有程序,应用于中央认证服务器,所述程序被第一处理器执行时实现如上述所述的单点登录方法。
第六方面,本发明实施例提供了一种缓存服务器,所述缓存服务器包括:接收器、第二处理器、第二存储器和第二通信总线,所述接收器和所述第二存储器通过所述第二通信总线与所述第二处理器进行通信,所述第二存储器存储所述第二处理器可执行的程序,当所述程序被执行时,通过所述接收器和所述第二处理器执行如上述所述的单点登录方法。
第七方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有程序,应用于缓存服务器,所述程序被第二处理器执行时实现如上述所述的单点登录方法。
本发明实施例提供了一种单点登录***、方法、服务器及存储介质,其中,该***包括中央认证服务器和缓存服务器,中央认证服务器上安装有预设存储插件,预设存储插件用于实现登录票据在缓存服务器上的存储。中央认证服务器,用于当终端在第一应用服务器登录成功时,生成登录票据,登录票据表征终端在第一应用服务器的登录成功凭据;通过预设存储插件,将登录票据发送至缓存服务器;缓存服务器,用于存储登录票据;根据存储后的登录票据,在与第一应用服务器相互信任的应用服务器上实现单点登录。采用上述技术实现方案,在单点登录***中实现并发单点登录时,通过在中央认证服务器上安装用于实现在缓存服务器上存储中央认证服务器生成的登录票据的预设存储插件,使得中央认证服务器生成的登录票据是存储在缓存服务器中的,由于缓存服务器是与中央认证服务器独立的服务器,根据缓存服务器中存储的登录票据来实现相互信任的应用服务器上的单点登录时,缓存服务器中存储的登录票据等信息不会因认证服务器的失效而发生丢失,因此,不会出现因信息丢失造成的单点故障,从而解决了单点故障,提高了单点登录对应认证机制的安全性。
附图说明
图1为本发明实施例提供的一种单点登录***架构图;
图2为本发明实施例提供的另一种单点登录***架构图;
图3为本发明实施例提供的一种示例性的单点登录流程示意图;
图4为本发明实施例提供的一种单点登录方法的实现流程图;
图5为本发明实施例提供的另一种单点登录方法的实现流程图;
图6为本发明实施例提供的一种中央认证服务器的结构示意图一;
图7为本发明实施例提供的一种中央认证服务器的结构示意图二;
图8为本发明实施例提供的一种缓存服务器的结构示意图一;
图9为本发明实施例提供的一种缓存服务器的结构示意图二。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
实施例一
图1为本发明实施例提供的一种单点登录***架构图,如图1所示,该单点登录***100包括终端1、应用服务器2、中央认证服务器3和缓存服务器4。其中,终端1能够对应用服务器2中的多个应用服务器进行访问;应用服务器2中的应用服务器201、应用服务器202、…、应用服务器m为相互信任的应用服务器;当终端1对应用***2中的应用服务器进行访问时,通过中央认证服务器3和缓存服务器4来实现该访问的信息认证,从而以单点登录的方式实现终端1对应用服务器2中的应用服务器的访问。
本发明实施例提供了一种单点登录***,用于实现本发明实施例提供的单点登录方法。在本发明实施例提供的单点登录***中,包括中央认证服务器和缓存服务器,其中,中央认证服务器上安装有预设存储插件,该预设存储插件用于实现登录票据在缓存服务器上的存储。
具体地,在该单点登录***中:中央认证服务器,用于当终端在第一应用服务器登录成功时,生成登录票据,登录票据表征终端在第一应用服务器的登录成功凭据;通过预设存储插件,将登录票据发送至缓存服务器。缓存服务器,用于存储登录票据;根据存储后的登录票据,在与第一应用服务器相互信任的应用服务器上实现单点登录。
在本发明实施例中,首先,应用服务器能够向终端提供各种功能应用,终端通过对应用服务器的各种功能应用进行访问来实现对应用服务器中资源的访问;当终端对应用服务器中受保护的资源进行访问时,需要对终端的访问请求进行信息认证,该信息认证由中央认证服务器实现;这里,终端为图1中的终端1中的一个终端,第一应用服务器为图1中的应用服务器2中的一个应用服务器,应用服务器又称为应用***;当终端对第一应用服务器进行访问时,如果此时终端在与第一应用服务器相互信任的应用服务器上并未进行过登录,中央认证服务器获取该访问对应的用户登录信息(比如,用户名和密码等),将该用户登录信息与预设用户登录信息进行匹配,当匹配成功时,即终端在第一应用服务器登录成功。这里,中央认证服务器优选为CAS(Central Authentication Service,中央认证服务)服务器。
其次,当终端在第一应用服务器登录成功时,中央认证服务器为表明终端在第一应用服务器登录成功,会生成登录成功凭据:登录票据。这里,登录票据优选为TGT(TicketGrangting Ticket,登录票据)。
需要说明的是,TGT是中央认证服务器为终端签发的登录票据,拥有了TGT,终端就能够证明自己在中央认证服务器已成功登录。
其次,通过将登录票据进行存储,当终端对与第一应用服务器相互信任的应用服务器进行访问时,只需根据该登录票据而无需再次进行登录就能实现终端对与第一应用服务器相互信任的应用服务器的访问。在对登录票据进行存储时,本发明实施例对中央认证服务器的存储机制进行了改进,通过在中央认证服务器上运行用于实现登录票据在缓存服务器上存储的预设存储插件,使得原本存储于中央认证服务器的登录票据存储于缓存服务器中,即通过预设存储插件,将登录票据发送至缓存服务器进行存储。
最后,缓存服务器接收中央认证服务器发送的登录票据,将该登录票据进行存储。并当终端对与第一应用服务器相互信任的应用服务器进行访问时,从该缓存服务器中获取该登录票据,完成终端对与第一应用服务器相互信任的应用服务器的访问的信息认证,实现终端在第一应用服务器,以及与第一应用服务器相互信任的应用服务器之间的单点登录。
可以理解的是,通过预设存储插件对中央认证服务器的存储机制进行改进,将原本存储在中央认证服务器的登录票据改存至缓存服务器,使得即使中央认证服务器故障时,中央认证服务器已经认证过的登录票据仍然有效,因此,仍然能够根据该登录票据实现终端对应用服务器的单点登录,保证了单点登录的安全性,提升了单点登录***的健壮性。
进一步地,在本发明实施例中,中央认证服务器的数量为至少一个,该单点登录***还包括:反向代理服务器;反向代理服务器,用于基于预设轮询策略向至少一个中央认证服务器分发应用访问请求。中央认证服务器,还用于根据应用访问请求,确定终端在第一应用服务器登录成功。
需要说明的是,应用访问请求表征终端对应用服务器的访问请求;当多个终端对应用服务器进行访问时,在预设时间段内会产生多个应用访问请求,为实现该多个应用访问请求的并发处理,在本发明实施例提供的单点登录***中设置至少一个中央认证服务器,并另外增加反向代理服务器,实现将多个应用访问请求向至少一个中央认证服务器进行分发,具体分发时采用预设轮询策略。
相应地,中央认证服务器在确定终端在第一应用服务器登录成功时,通过响应反向代理服务器分发来的访问请求,进行用户登录信息的认证,从而实现终端在第一应用服务器登录成功的确定。
在本发明实施例中,至少一个中央认证服务器可以为服务器集群,也可以为分布式服务器,本发明实施例对此不作具体限定。
图2为本发明实施例提供的另一种单点登录***架构图,基于图1,图2中所示的单点登录***中中央认证服务器3中的中央认证服务器的数量为至少一个,并且额外增加了反向代理服务器5,该反向代理服务器5用于基于预设轮询策略向至少一个中央认证服务器3分发应用访问请求,从而实现应用访问请求的并发认证;其中,中央认证服务器3包括中央认证服务器301、中央认证服务器302、…、中央认证服务器n。
可以理解的是,本发明实施例通过额外设置反向代理服务器,并设置至少一个中央认证服务器实现对应用访问请求的信息认证,解决了终端对应用服务器的并发访问问题。
进一步地,在本发明实施例中,缓存服务器存储登录票据,具体包括将登录票据通过缓存对象和缓存对象对应的价值信息进行存储;则,缓存服务器,还用于根据缓存对象的读取性能信息、访问频率信息、访问时间信息和中央认证服务器数量信息确定缓存对象对应的价值信息;以及删除价值信息低于预设阈值的缓存对象。
需要说明的是,缓存服务器的存储机制为:将存储对象以缓存对象和缓存对象对应的价值信息进行存储,因此,缓存服务器在存储登录票据时,具体是将登录票据通过缓存对象和缓存对象对应的价值信息进行存储的。另外,随着缓存服务器中数据的增大,在对缓存服务器中的数据进行清理时,基于缓存对象对应的价值信息进行缓存对象的删除,具体是删除价值信息低于预设阈值的缓存对象;而缓存对象对应的价值信息根据缓存对象的读取性能信息、访问频率信息、访问时间信息和中央认证服务器数量信息确定。
可以理解的是,本发明实施例基于缓存价值信息对缓存服务器中存储的内容进行清理,提高了缓存服务器中数据清理的合理性。
图3为本发明实施例提供的一种示例性的单点登录流程示意图,如图3所示,该示例性的单点登录流程包括:
(1)、终端访问应用服务器201(第一应用服务器),应用服务器201使用终端的session验证登录状态,即验证终端是否已经登录;若验证成功则终端进入第一应用服务器进行访问;否则执行步骤(2)。
(2)-(3)、Nginx反向代理服务器(反向代理服务器)将终端访问应用服务器201的访问请求重定向至CAS Server(中央认证服务器);具体Nginx反向代理服务器按照轮训策略将终端访问应用服务器201的访问请求分发到CAS Server;这里,终端在CAS Server的登录界面输入用户登录信息进行终端登录认证。
(4)、CAS Server获取到用户登录信息,并通过redis缓存(缓存服务器)查询该用户登录信息。
(5)、若redis缓存中存在查询结果,redis缓存返回用户登录信息的查询结果,并则执行步骤(9);否则执行步骤(6)。
(6)、CAS Server通过数据库查询用户登录信息,若查询到用户登录信息,则执行步骤(7);否则终端对应用服务器201的登录失败,结束流程。
(7)、数据库将用户登录信息作为缓存对象写入redis缓存中,并将对应的缓存价值信息写入缓存中,以及执行步骤(8)。
(8)、数据库返回终端对应用服务器201登录成功的认证信息到CAS Server中,并在redis查询对应的历史TGT(历史登录票据)是否存在,如果存在,将该历史TGT从redis缓存中移除,保证同一个终端只能在一台机器上登录,实现终端的单态登录。
(9)、终端对应用服务器201的登录成功后,CAS Server生成TGT(登录票据),并将TGT以及TGT的ID(TGC)缓存至redis缓存。
(10)、CAS Server先将TGC发送至Kerberos认证中心对TGC进行一次加密,然后再将TGC发送至Client Browser,以便终端完成单点登录流程;在将TGC传送至ClientBrowser之后,随即CAS Server产生ST(服务票据)并将ST缓存至redis缓存。
(11)、CAS Server先将ST发送至Kerberos认证中心进行一次加密,以名为ticket参数的Query String(查询字符串)的方式放置在应用服务器201地址之后,经HTTP重定向回应用服务器201。
(12)、应用服务器201分析Query Sting,并从其中得到ST以及service参数(表征应用服务器201的参数信息),然后再次将ST以及service参数发送到CAS Server作第二次认证;CAS Server首先将ST传送至Kerberos认证中心对ST进行解密,然后CAS Server再查询redis缓存,验证ST的有效性。
(13)、CAS Server返回ST认证结果,ST被验证有效后,CAS Server将终端的票据信息发送至应用服务器201,并以cookie保存TGC在Client Brower,表示终端已被验证为合法用户,可访问应用服务器201的相关资源,进行相关操作。
在本发明实施例中,在将登录票据和服务票据等票据信息存储至缓存服务器之后,当中央认证服务器故障,且检测到终端对应用服务器的访问请求时,不通过中央认证服务器直接从缓存服务器中获取存储登录票据和服务票据等票据信息来响应终端对应用服务器的访问请求,避免了中央认证服务器故障票据信息随之失效产生的单点故障问题。另外,在将登录票据和服务票据等票据信息存储至缓存服务器之后,当中央认证服务器正常,且检测到终端对应用服务器的访问请求时,通过中央认证服务器从缓存服务器中获取存储登录票据和服务票据等票据信息来响应终端对应用服务器的访问请求。
可以理解的是,在单点登录***中实现并发单点登录时,通过在中央认证服务器上安装用于实现在缓存服务器上存储中央认证服务器生成的登录票据的预设存储插件,使得中央认证服务器生成的登录票据是存储在缓存服务器中的,由于缓存服务器是与中央认证服务器独立的服务器,根据缓存服务器中存储的登录票据来实现相互信任的应用服务器上的单点登录时,缓存服务器中存储的登录票据等信息不会因认证服务器的失效而发生丢失,因此,不会出现因信息丢失造成的单点故障,从而解决了单点故障,提高了单点登录对应认证机制的安全性。
实施例二
本发明实施例提供了一种单点登录方法,应用于中央认证服务器,该中央认证服务器上安装有预设存储插件,预设存储插件用于实现登录票据在缓存服务器上的存储;图4为本发明实施例提供的一种单点登录方法的实现流程图,如图4所示,该单点登录方法包括:
S201、当终端在第一应用服务器登录成功时,生成登录票据,登录票据表征终端在第一应用服务器的登录成功凭据。
在本发明实施例中,当终端对第一应用服务器进行访问时,如果此时终端在与第一应用服务器相互信任的应用服务器上并未进行过登录,中央认证服务器获取该访问对应的用户登录信息(比如,用户名和密码等),将该用户登录信息与预设用户登录信息进行匹配,当匹配成功时,即终端在第一应用服务器登录成功;此时,中央认证服务器为表明终端在第一应用服务器登录成功,会生成登录成功凭据:登录票据,即登录票据表征终端在第一应用服务器的登录成功凭据。
需要说明的是,应用服务器能够向终端提供各种功能应用,终端通过对应用服务器的各种功能应用进行访问来实现对应用服务器中资源的访问;当终端对应用服务器中受保护的资源进行访问时,需要对终端的应用访问请求进行信息认证,该信息认证由中央认证服务器实现;这里,第一应用服务器属于应用服务器,应用服务器又称为应用***。
这里,中央认证服务器优选为CAS服务器;CAS服务器采用CAS框架实现多个相互信任的应用服务器之间的单点登录。登录票据优选为TGT;TGT是中央认证服务器为终端签发的登录票据,拥有了TGT,终端就能够证明自己在中央认证服务器已成功登录。
S202、通过预设存储插件,将登录票据发送至缓存服务器,使得根据缓存服务器中存储后的登录票据在与第一应用服务器相互信任的应用服务器上实现单点登录。
在本发明实施例中,在对登录票据进行存储时,本发明实施例对中央认证服务器的存储机制进行了改进,通过在中央认证服务器上运行用于实现登录票据在缓存服务器上存储的预设存储插件,使得原本存储于中央认证服务器的登录票据存储于缓存服务器中,即中央认证服务器通过预设存储插件,将登录票据发送至缓存服务器进行存储;进而使得根据缓存服务器中存储后的登录票据在与第一应用服务器相互信任的应用服务器上实现单点登录。
需要说明的是,通过将登录票据进行存储,当终端对与第一应用服务器相互信任的应用服务器进行访问时,只需根据该登录票据而无需再次进行登录就能实现终端对与第一应用服务器相互信任的应用服务器的访问。一般来说,中央认证服务器对应用访问请求进行认证,将认证通过时生成的票据信息(比如,登录票据)存储在中央认证服务器自身的存储器中;而本发明实施例中,对中央认证服务器的存储机制进行了改进,具体为在中央认证服务器运行预设存储插件,实现票据信息在缓存服务器的存储。之后,当终端对与第一应用服务器相互信息的应用服务器进行访问时,从缓存服务器中获取存储的登录票据,根据该登录票据实现单点登录。
这里,预设存储插件表征用于实现中央认证服务器的认证信息在缓存服务器上存储的应用程序,比如,tomcat插件tomcat-redis-session-manager。而缓存服务器为独立于中央认证服务器,用于存储登录票据等认证信息的存储服务器,比如,redis缓存;当缓存服务器为redis缓存时,由于CAS协议本身具有高可用性,把登录票据等认证信息存储在存储组件(比如,TicketRegistry组件)中,而该存储组件虽然大部分支持分布式环境的实现,但大多需要基于redis缓存存储来实现,因此,本发明实施例中,对存储组件进行修改,以使得该存储组件为基于redis缓存存储的存储组件;其中,在修改时,定义现有的存储组件中的“RedisTicketRegistry.java”类,以实现“TicketRegistry”接口,然后,对配置文件“ticketRegistry.xml”进行修改,具体地,将“DefaultTicketRegistry”替换为“RedisTicketRegistry”,以实现该些组件为基于redis缓存存储的存储组件。
可以理解的是,通过预设存储插件对中央认证服务器的存储机制进行改进,将原本存储在中央认证服务器的登录票据改存至缓存服务器,使得即使中央认证服务器故障时,中央认证服务器已经认证过的登录票据仍然有效,因此,仍然能够根据该登录票据实现终端对应用服务器的单点登录,保证了单点登录的安全性,提升了单点登录***的健壮性。
进一步地,在本发明实施例中,缓存服务器还用于存储服务票据,将登录票据发送至缓存服务器之后,该单点登录方法还包括S203-S205,具体为:
S203、当接收到终端对第二应用服务器的访问请求时,根据终端对第二应用服务器的访问请求从缓存服务器中获取登录票据,第二应用服务器是与第一应用服务器互相信任的应用服务器。
在本发明实施例中,当中央认证服务器将登录票据发送至缓存服务器进行存储之后,如果此时接收到终端对第二应用服务器的访问请求时,由于缓存服务器存储的登录票据表征终端对第一应用服务器的登录成功凭据,而第二应用服务器又是与第一应用服务器互相信任的应用服务器,因此,中央认证服务器根据终端对第二应用服务器的访问请求从缓存服务器获取到存储的登录票据,根据该登录票据响应终端对第二应用服务器的访问请求。
S204、根据登录票据,生成服务票据,服务票据表征终端在第二应用服务器的访问凭据。
在本发明实施例中,当中央认证服务器获取到登录票据之后,表明终端已经在对与第二应用服务器相互信任的其他应用服务器(第一应用服务器)访问时完成了在中央认证服务器上的成功登录,因此,此时,终端在不进行用户登录信息认证的情况下,仍然能实现对第二应用服务器的访问。具体地,中央认证服务器根据该登录票据,生成与第二应用服务器对应的服务票据,根据该服务票据实现终端对第二应用服务器的访问。这里,服务票据表征终端在第二应用服务器的访问凭据。
需要说明的是,终端对应用服务器的受保护资源能否进行访问,是根据该应用服务器对应的服务票据进行确定的;当终端的一个应用访问请求具有与该应用服务器对应的服务票据时,该终端就能对该应用服务器的受保护资源进行访问。
这里,服务票据优选为ST(Service Ticket,服务票据),是中央认证服务器为终端签发的访问某一对应应用服务器的访问凭据。
S205、通过预设存储插件,将服务票据发送至缓存服务器,使得根据缓存服务器中存储后的服务票据完成在第一应用服务器和第二应用服务器上的单点登录。
在本发明实施例中,中央认证服务器在生成第二应用服务器的服务票据之后,将该服务票据发送至终端,同时还会通过预设存储插件,将该服务票据发送至缓存服务器进行存储,使得根据缓存服务器存储的服务票据验证待验证服务票据的有效性。该待验证服务票据为:中央认证服务器将该服务票据发送至终端,第二应用服务器从终端上获取到待验证服务票据。中央认证服务器根据缓存服务器存储的服务票据对第二应用服务器的待验证服务票据的有效性进行验证,当验证通过时,终端就能对第二应用服务器进行访问。从而,中央认证服务器根据缓存服务器中存储后的服务票据完成了在第一应用服务器和第二应用服务器上的单点登录。
此外,中央认证服务器通过“as-client-core模块”共享服务票据与session的关系,具体“as-client-core模块”利用“HashMapBackedSessionMappingStorage”来实现服务票据和session的内存存储,从而实现对服务票据与session的关系的共享。
可以理解的是,通过预设存储插件对中央认证服务器的存储机制进行改进,将原本存储在中央认证服务器的服务票据改存至缓存服务器,使得即使中央认证服务器故障时,中央认证服务器已经认证过的服务票据仍然有效,因此,仍然能够根据该服务票据实现终端对对应的应用服务器的访问,保证了单点登录的安全性。
进一步地,在本发明实施例中,中央认证服务器的数量为至少一个,S201中中央认证服务器生成登录票据之前,该单点登录方法还包括S206-S207,具体为:
S206、接收反向代理服务器分发的应用访问请求,应用访问请求为代理服务器基于预设轮询策略向至少一个中央认证服务器进行分发的请求。
在本发明实施例中,当多个终端对应用服务器进行访问时,在预设时间段内会产生多个应用访问请求,为实现该多个应用访问请求的并发处理,中央认证服务器的数量为至少一个来构成认证服务器集群,对反向代理服务器基于预设轮询策略分发的多个应用访问请求进行响应,实现对多个应用访问请求的并发处理。
需要说明的是,反向代理服务器用于基于预设轮询策略向至少一个中央认证服务器分发应用访问请求,比如,Nginx反向代理服务器,Nginx反向代理服务器相比于Apache,占用更少的内存及资源,处理请求是异步非阻塞的,在高并发下能够实现低资源、低消耗、高性能;这里,预设轮询策略表征向至少一个中央认证服务器分发多个应用访问请求的分发策略,比如,按照时间顺序实现应用访问请求向至少一个中央认证服务器的分发;另外,应用访问请求表征终端对应用服务器或应用***的访问请求,比如,终端对第一应用服务器的访问请求,终端对第二应用服务器的访问请求,等等。
还需要说明的是,当应用访问请求的数量为一个时,同样是通过反向代理服务器和预设轮询策略将这一个应用访问请求向至少一个中央认证服务器进行分发。也就是说,中央认证服务器接收反向代理服务器基于预设轮询策略分发的至少一个应用访问请求。
S207、根据应用访问请求,确定终端在第一应用服务器登录成功。
在本发明实施例中,中央认证服务器从接收到的应用访问请求中,选择终端对第一应用服务器的访问请求;并根据终端对第一应用服务器的访问请求,对对应的用户登录信息进行认证,从而终端在第一应用服务器登录成功。
可以理解的是,由于中央认证服务器的数量为至少一个,至少一个中央服务器通过接收反向代理服务器分发的应用访问请求,解决了大量终端对应用服务器的并发访问问题。
还可以理解的是,在单点登录***中实现并发单点登录时,通过在中央认证服务器上安装用于实现在缓存服务器上存储中央认证服务器生成的登录票据的预设存储插件,使得中央认证服务器生成的登录票据是存储在缓存服务器中的,由于缓存服务器是与中央认证服务器独立的服务器,根据缓存服务器中存储的登录票据来实现相互信任的应用服务器上的单点登录时,缓存服务器中存储的登录票据等信息不会因认证服务器的失效而发生丢失,因此,不会出现因信息丢失造成的单点故障,从而解决了单点故障,提高了单点登录对应认证机制的安全性。
实施例三
本发明实施例提供了另一种单点登录方法,应用于缓存服务器;图5为本发明实施例提供的另一种单点登录方法的实现流程图,如图5所示,该单点登录方法包括:
S301、接收中央认证服务器发送的登录票据,登录票据表征终端在第一应用服务器的登录成功凭据。
在本发明实施例中,当中央认证服务器通过预设存储插件将生成的登录票据发送至缓存服务器时,缓存服务器就接收到了中央认证服务器发送的登录票据,这里,登录票据表征终端在第一应用服务器的登录成功凭据。
需要说明的是,缓存服务器有多种实现方式,比如,MySQL、menmcached和redis缓存,等等。其中,redis缓存具有数据支持多种数据结构、不同级别的磁盘持久性、响应速度快等特点。
S302、存储登录票据。
在本发明实施例中,缓存服务器接收到登录票据之后,将该登录票据进行存储。
需要说明的是,缓存服务器具有自身的存储机制。优选地,缓存服务器的存储机制为将存储对象以缓存对象和对应的价值信息进行存储;相应地,缓存服务器将登录票据通过缓存对象和缓存对象对应的价值信息进行存储。
S303、根据存储后的登录票据,在与第一应用服务器相互信任的应用服务器上实现单点登录。
在本发明实时例中,缓存服务器将登录票据存储之后,当终端对与第一应用服务器相互信任的应用服务器进行访问时,从该缓存服务器中获取该登录票据,完成终端对与第一应用服务器相互信任的应用服务器的访问的信息认证,实现终端在第一应用服务器,以及与第一应用服务器相互信任的应用服务器之间的单点登录。
可以理解的是,缓存服务器通过存储登录票据,使得即使中央认证服务器故障时,中央认证服务器已经认证过的登录票据仍然有效,因此,仍然能够根据该登录票据实现终端对应用服务器的单点登录,保证了单点登录的安全性。
进一步地,在本发明实施例中,S302中缓存服务器存储登录票据,具体包括S304,其中:
S304、将登录票据通过缓存对象和缓存对象对应的价值信息进行存储。
在本发明实施例中,缓存服务器的存储机制为:将存储对象以缓存对象和缓存对象对应的价值信息进行存储,因此,缓存服务器在存储登录票据时,具体是将登录票据通过缓存对象和缓存对象对应的价值信息进行存储的。这里,缓存对象指登录票据,缓存对象对应的价值信息表征登录票据在缓存服务器中的价值。
相应地,该单点登录方法还包括S305-S306,具体为:
S305、根据缓存对象的读取性能信息、访问频率信息、访问时间信息和中央认证服务器数量信息确定缓存对象对应的价值信息。
在本发明实施例中,随着缓存服务器中数据的增大,在对缓存服务器中的数据进行清理时,基于缓存对象对应的价值信息进行缓存对象的删除;这里,缓存服务器根据缓存对象的读取性能信息、访问频率信息、访问时间信息和中央认证服务器数量信息确定缓存对象对应的价值信息。
需要说明的是,读取性能信息表征从缓存服务器获取缓存对象时的性能信息,比如,缓存服务器的带宽;访问频率信息表征从缓存服务器获取缓存对象的次数多少的信息;访问时间信息表征从缓存服务器获取缓存对象时对应的时间信息,比如,缓存对象的最后一次访问时间;中央认证服务器数量信息表征与缓存服务器交互的中央认证服务器的数量,比如,中央认证服务器的总数量。
优选地,在本发明实施例中,缓存服务器通过公式(1)来实现根据缓存对象的读取性能信息、访问频率信息、访问时间信息和中央认证服务器数量信息确定缓存对象对应的价值信息。公式(1)为:
其中,K1/bs为读取性能信息,具体bs为取得缓存对象的缓存服务器的带宽,K1为带宽的权值因子;1/C为中央认证服务器数量信息,具体C为认证服务器的总数量;为访问频率信息,具体为缓存对象的访问频率,K2为缓存对象访问频率的权值因子;ln(T)为访问时间信息,具体T为缓存对象的最后一次访问时间。
需要说明的是,在本发明实施例中,当缓存服务器中缓存的内容为字符串对象时,缓存对象的大小相同。此时,在读取性能信息上只考虑缓存服务器的带宽bs:缓存服务器s的带宽越大,查询速度就越快,因此在缓存服务器中进行查询该缓存对象的速度就越快,该缓存对象的价值信息就越小。C为中央认证服务器的总数量,当终端访问至少一个中央认证服务器的概率是相同的,若须将带宽的价值因素缩小,则须将终端访问至少一个中央认证服务器的概率缩小为中央认证服务器总数量C的倒数。
需要说明的是,在缓存替代算法方面,现有缓存替代算法只考虑缓存对象的时间和访问频率,仅能在特定的应用场景性能优异,或者虽然综合考虑了缓存对象的大小、被命中次数和缓存对象在缓存中存留的时间,但计算量较大,影响替换效率。本发明实施例在确定缓存对象对应的价值信息时,基于现有技术,将缓存对象的最后一次访问时间T作为确定缓存对象对应的价值信息的一个因此,如此,如果T距当前时间越久表明缓存对象的价值信息越低,相反,如果T距当前时间越近表明缓存对象的价值信息越高。并且,如本发明实施例在确定缓存对象对应的价值信息时直接使用T,由于T会随着时间直线增长,从而使确定缓存对象对应的价值信息时更倾向于T;因此,本发明实施例通过对T取e的对数,缩小了T对整个公式的权重。另外,通过调整K1和K2的大小,来分别平衡缓存服务器的带宽和缓存对象的访问频率两个因素,防止局部条件变化而导致的缓存对象对应的价值信息失衡。
S306、删除价值信息低于预设阈值的缓存对象。
在本发明实施例中,缓存服务器中预先设有预设容量阈值,当将缓存对象向缓存服务器进行存储时,如果检测到当前缓存容量超过了预设容量阈值,缓存服务器对缓存对象进行删除,具体基于缓存对象对应的价值信息进行删除。这里,缓存服务器删除价值信息低于预设阈值的缓存对象,预设阈值表征是否将缓存对象进行删除的最低条件限制信息。
可以理解的是,本发明实施例基于缓存价值信息对缓存服务器中存储的内容进行清理,提高了缓存服务器中数据清理的合理性。
进一步地,在本发明实施例中,缓存服务器还用于存储服务票据,S303中缓存服务器根据存储后的登录票据,在与第一应用服务器相互信任的应用服务器上实现单点登录,具体包括:缓存服务器接收中央认证服务器发送的服务票据,服务票据表征终端在第二应用服务器的访问凭据,第二应用服务器是与第一应用服务器互相信任的应用服务器;并存储服务票据;以及根据存储后的服务票据,完成在第一应用服务器和第二应用服务器上的单点登录。
也就是说,当终端对与第一应用服务器互相信任的第二应用服务器进行访问时,中央认证服务器根据缓存服务器存储的登录票据生成与第二应用服务器对应的服务票据并通过预设存储插件将该服务票据发送至缓存服务器,此时,缓存服务器也就接收到了中央认证服务器发送的服务票据。接着,缓存服务器将服务票据存储,并根据存储的服务票据验证待验证服务票据的有效性。该待验证服务票据为:中央认证服务器将该服务票据发送至终端,第二应用服务器从终端上获取到待验证服务票据。中央认证服务器根据缓存服务器存储的服务票据对第二应用服务器的待验证服务票据的有效性进行验证,当验证通过时,终端就能对第二应用服务器进行访问。从而,中央认证服务器根据缓存服务器中存储后的服务票据完成在第一应用服务器和第二应用服务器上的单点登录。
需要说明的是,终端对应用服务器的受保护资源能否进行访问,是根据该应用服务器对应的服务票据进行确定的;当终端的一个访问具有与该应用服务器对应的服务票据时,该终端就能对该应用服务器的受保护资源进行访问。
这里,服务票据优选为ST,是中央认证服务器为终端签发的访问某一对应的应用服务器的访问凭据。
可以理解的是,缓存服务器通过存储服务票据,使得即使中央认证服务器故障时,中央认证服务器已经认证过的服务票据仍然有效,因此,仍然能够根据该服务票据实现各应用***的单点登录,保证了单点登录的安全性。
进一步地,在本发明实施例中,缓存服务器还用于存储终端的访问信息,访问信息包括登录账户信息、基本信息和权限信息中的至少一种。
需要说明的是,终端的访问信息表征对终端的应用访问请求进行响应时涉及到的终端对应的信息。另外,登录账户信息表征与用户登录信息对应的终端信息,比如,终端向应用服务器注册的用户名和密码;基本信息表征终端的基本信息,比如用户的个人信息;权限信息表征终端对应用服务器的访问权限信息,比如,终端1为管理员。
可以理解的是,通过将登录账户信息、基本信息和权限信息中的至少一种存储至缓存服务器,由于缓存服务器的响应速度快于数据库的响应速度,因此,在对终端的应用访问请求进行响应时,提高了响应速度。
进一步地,在本发明实施例中,S301中缓存服务器接收中央认证服务器发送的登录票据之前,该单点登录方法还包括:缓存服务器将登录票据对应的历史登录票据删除,实现单态登录。
也就是说,当终端根据用户登录信息在应用服务器上进行登录时,检测缓存服务器中是否存在对应的历史登录票据,如果存在,需将该历史登录票据删除或使该历史登录票据无效,从而实现终端的单态登录。这里,历史登录票据表征在终端根据用户登录信息在应用服务器上进行登录之前生成的票据信息。
此外,在本发明实施例中,缓存服务器对存储的数据进行持久化处理。另外,在本发明实施例中,缓存服务器对存储的登录票据进行序列化,使得快速将存储的快照映射在硬盘文件中。
可以理解的是,在单点登录***中实现并发单点登录时,缓存服务器能够接收中央认证服务器发送的登录票据并进行存储,由于缓存服务器是与中央认证服务器独立的服务器,根据缓存服务器中存储的登录票据来实现相互信任的应用服务器上的单点登录时,缓存服务器中存储的登录票据等信息不会因认证服务器的失效而发生丢失,因此,不会出现因信息丢失造成的单点故障,从而解决了单点故障,提高了单点登录对应认证机制的安全性。
实施例四
基于实施例一和实施例二同一发明构思,本发明实施例提供了一种中央认证服务器3,对应于一种应用于中央认证服务器单点登录方法;图6为本发明实施例提供的一种中央认证服务器的结构示意图一,如图6所示,该中央认证服务器3包括:
生成单元30,用于当终端在第一应用服务器登录成功时,生成所述登录票据,所述登录票据表征所述终端在所述第一应用服务器的登录成功凭据;
发送单元31,用于通过所述预设存储插件,将所述登录票据发送至所述缓存服务器,使得根据所述缓存服务器中存储后的所述登录票据在与所述第一应用服务器相互信任的应用服务器上实现单点登录。
进一步地,所述中央认证服务器3还包括第一单点登录单元32;
所述第一单点登录单元32,用于当接收到所述终端对第二应用服务器的访问请求时,根据所述终端对所述第二应用服务器的访问请求从所述缓存服务器中获取所述登录票据,所述第二应用服务器是与所述第一应用服务器互相信任的应用服务器;并根据所述登录票据,生成服务票据,所述服务票据表征所述终端在所述第二应用服务器的访问凭据;以及通过所述预设存储插件,将所述服务票据发送至所述缓存服务器,使得根据所述缓存服务器中存储后的所述服务票据完成在所述第一应用服务器和所述第二应用服务器上的单点登录。
进一步地,所述中央认证服务器3还包括分发单元33;
所述分发单元33,用于接收反向代理服务器分发的应用访问请求,所述应用访问请求为所述代理服务器基于预设轮询策略向至少一个所述中央认证服务器进行分发的请求;以及根据所述应用访问请求,确定所述终端在所述第一应用服务器登录成功。
需要说明的是,在实际应用中,上述生成单元30、第一单点登录单元32和分发单元33可由位于中央认证服务器3上的第一处理器34实现,具体为CPU(Central ProcessingUnit,中央处理器)、MPU(Microprocessor Unit,微处理器)、DSP(Digital SignalProcessing,数字信号处理器)或现场可编程门阵列(FPGA,Field Programmable GateArray)等实现;所述发送单元31可由位于中央认证服务器3上的发送器35实现。
本发明实施例还提供了一种中央认证服务器3,如图7所示,所述中央认证服务器3包括:发送器35、第一处理器34、第一存储器36和第一通信总线37,所述发送器35和所述第一存储器36通过所述第一通信总线37与所述第一处理器34进行通信,所述第一存储器36存储所述第一处理器34可执行的程序,当所述程序被执行时,通过所述发送器35和所述第一处理器34执行如实施例二所述的单点登录方法。
在实际应用中,上述第一存储器36可以是易失性存储器(volatile memory),例如随机存取存储器(Random-Access Memory,RAM);或者非易失性存储器(non-volatilememory),例如只读存储器(Read-Only Memory,ROM),快闪存储器(flash memory),硬盘(Hard Disk Drive,HDD)或固态硬盘(Solid-State Drive,SSD);或者上述种类的存储器的组合,并向第一处理器34提供程序和数据。
本发明实施例提供了一种计算机可读存储介质,其上存储有程序,应用于中央认证服务器3,所述程序被第一处理器34执行时实现如实施例二所述的单点登录方法。
可以理解的是,在单点登录***中实现并发单点登录时,通过在中央认证服务器上安装用于实现在缓存服务器上存储中央认证服务器生成的登录票据的预设存储插件,使得中央认证服务器生成的登录票据是存储在缓存服务器中的,由于缓存服务器是与中央认证服务器独立的服务器,根据缓存服务器中存储的登录票据来实现相互信任的应用服务器上的单点登录时,缓存服务器中存储的登录票据等信息不会因认证服务器的失效而发生丢失,因此,不会出现因信息丢失造成的单点故障,从而解决了单点故障,提高了单点登录对应认证机制的安全性。
实施例五
基于实施例一和实施例三同一发明构思,本发明实施例提供了一种缓存服务器4,对应于一种应用于缓存服务器单点登录方法;图8为本发明实施例提供的一种缓存服务器的结构示意图一,如图8所示,该缓存服务器4包括:
接收单元40,用于接收中央认证服务器发送的登录票据,所述登录票据表征终端在第一应用服务器的登录成功凭据;
存储单元41,用于存储所述登录票据;
第二单点登录单元42,用于根据存储后的所述登录票据,在与所述第一应用服务器相互信任的应用服务器上实现单点登录。
进一步地,所述存储单元41,具体用于将所述登录票据通过缓存对象和所述缓存对象对应的价值信息进行存储;则,
所述存储单元41,还用于根据所述缓存对象的读取性能信息、访问频率信息、访问时间信息和中央认证服务器数量信息确定所述缓存对象对应的价值信息;以及删除所述价值信息低于预设阈值的缓存对象。
进一步地,所述第二单点登录单元42,具体用于接收所述中央认证服务器发送的所述服务票据,所述服务票据表征所述终端在第二应用服务器的访问凭据,所述第二应用服务器是与所述第一应用服务器互相信任的应用服务器;并存储所述服务票据;以及根据存储后的所述服务票据,完成在所述第一应用服务器和所述第二应用服务器上的单点登录。
进一步地,所述缓存服务器还用于存储所述终端的访问信息,所述访问信息包括登录账户信息、基本信息和权限信息中的至少一种。
进一步地,所述缓存服务器4还包括单态登录单元43;
所述单态登录单元43,用于将所述登录票据对应的历史登录票据删除,实现单态登录。
需要说明的是,在实际应用中,上述存储单元41、第二单点登录单元42和单态登录单元43可由位于缓存服务器4上的第二处理器44实现,具体为CPU(Central ProcessingUnit,中央处理器)、MPU(Microprocessor Unit,微处理器)、DSP(Digital SignalProcessing,数字信号处理器)或现场可编程门阵列(FPGA,Field Programmable GateArray)等实现;所述接收单元40可由位于缓存服务器4上的接收器45实现。
本发明实施例还提供了一种缓存服务器4,如图9所示,所述缓存服务器4包括:接收器45、第二处理器44、第二存储器46和第二通信总线47,所述接收器45和所述第二存储器46通过所述第二通信总线47与所述第二处理器46进行通信,所述第二存储器46存储所述第二处理器44可执行的程序,当所述程序被执行时,通过所述接收器45和所述第二处理器44执行如实施例三所述的单点登录方法。
在实际应用中,上述第二存储器46可以是易失性存储器(volatile memory),例如随机存取存储器(Random-Access Memory,RAM);或者非易失性存储器(non-volatilememory),例如只读存储器(Read-Only Memory,ROM),快闪存储器(flash memory),硬盘(Hard Disk Drive,HDD)或固态硬盘(Solid-State Drive,SSD);或者上述种类的存储器的组合,并向第二处理器44提供程序和数据。
本发明实施例提供了一种计算机可读存储介质,其上存储有程序,应用于缓存服务器4,所述程序被第二处理器44执行时实现如实施例三所述的单点登录方法。
可以理解的是,在单点登录***中实现并发单点登录时,缓存服务器能够接收中央认证服务器发送的登录票据并进行存储,由于缓存服务器是与中央认证服务器独立的服务器,根据缓存服务器中存储的登录票据来实现相互信任的应用服务器上的单点登录时,缓存服务器中存储的登录票据等信息不会因认证服务器的失效而发生丢失,因此,不会出现因信息丢失造成的单点故障,从而解决了单点故障,提高了单点登录对应认证机制的安全性。
本领域内的技术人员应明白,本发明的实施例可提供为方法、***、或计算机程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述,仅为本发明较佳实施例而已,并非用于限定本发明的保护范围。
Claims (15)
1.一种单点登录***,其特征在于,所述***包括中央认证服务器和缓存服务器,所述中央认证服务器上安装有预设存储插件,所述预设存储插件用于实现登录票据在所述缓存服务器上的存储,所述***包括:
所述中央认证服务器,用于当终端在第一应用服务器登录成功时,生成所述登录票据,所述登录票据表征所述终端在所述第一应用服务器的登录成功凭据;通过所述预设存储插件,将所述登录票据发送至所述缓存服务器;
所述缓存服务器,用于存储所述登录票据;根据存储后的所述登录票据,在与所述第一应用服务器相互信任的应用服务器上实现单点登录。
2.根据权利要求1所述的***,其特征在于,所述中央认证服务器的数量为至少一个,所述***还包括:反向代理服务器;
所述反向代理服务器,用于基于预设轮询策略向至少一个所述中央认证服务器分发应用访问请求;
所述中央认证服务器,还用于根据所述应用访问请求,确定所述终端在所述第一应用服务器登录成功。
3.根据权利要求1所述的***,其特征在于,
所述存储所述登录票据,具体包括将所述登录票据通过缓存对象和所述缓存对象对应的价值信息进行存储;则,
所述缓存服务器,还用于根据所述缓存对象的读取性能信息、访问频率信息、访问时间信息和中央认证服务器数量信息确定所述缓存对象对应的价值信息;删除所述价值信息低于预设阈值的缓存对象。
4.一种单点登录方法,应用于中央认证服务器,其特征在于,所述中央认证服务器上安装有预设存储插件,所述预设存储插件用于实现登录票据在缓存服务器上的存储,所述方法包括:
当终端在第一应用服务器登录成功时,生成所述登录票据,所述登录票据表征所述终端在所述第一应用服务器的登录成功凭据;
通过所述预设存储插件,将所述登录票据发送至所述缓存服务器,使得根据所述缓存服务器中存储后的所述登录票据在与所述第一应用服务器相互信任的应用服务器上实现单点登录。
5.根据权利要求4所述的方法,其特征在于,所述缓存服务器还用于存储服务票据,所述将所述登录票据发送至所述缓存服务器之后,所述方法还包括:
当接收到所述终端对第二应用服务器的访问请求时,根据所述终端对所述第二应用服务器的访问请求从所述缓存服务器中获取所述登录票据,所述第二应用服务器是与所述第一应用服务器互相信任的应用服务器;
根据所述登录票据,生成服务票据,所述服务票据表征所述终端在所述第二应用服务器的访问凭据;
通过所述预设存储插件,将所述服务票据发送至所述缓存服务器,使得根据所述缓存服务器中存储后的所述服务票据完成在所述第一应用服务器和所述第二应用服务器上的单点登录。
6.根据权利要求4所述的方法,其特征在于,所述中央认证服务器的数量为至少一个,所述生成所述登录票据之前,所述方法还包括:
接收反向代理服务器分发的应用访问请求,所述应用访问请求为所述代理服务器基于预设轮询策略向至少一个所述中央认证服务器进行分发的请求;
根据所述应用访问请求,确定所述终端在所述第一应用服务器登录成功。
7.一种单点登录方法,应用于缓存服务器,其特征在于,所述方法包括:
接收中央认证服务器发送的登录票据,所述登录票据表征终端在第一应用服务器的登录成功凭据;
存储所述登录票据;
根据存储后的所述登录票据,在与所述第一应用服务器相互信任的应用服务器上实现单点登录。
8.根据权利要求7所述的方法,其特征在于,所述存储所述登录票据,具体包括:将所述登录票据通过缓存对象和所述缓存对象对应的价值信息进行存储;则,所述方法还包括:
根据所述缓存对象的读取性能信息、访问频率信息、访问时间信息和中央认证服务器数量信息确定所述缓存对象对应的价值信息;
删除所述价值信息低于预设阈值的缓存对象。
9.根据权利要求7所述的方法,其特征在于,所述缓存服务器还用于存储服务票据,所述根据存储后的所述登录票据,在与所述第一应用服务器相互信任的应用服务器上实现单点登录,包括:
接收所述中央认证服务器发送的所述服务票据,所述服务票据表征所述终端在第二应用服务器的访问凭据,所述第二应用服务器是与所述第一应用服务器互相信任的应用服务器;
存储所述服务票据;
根据存储后的所述服务票据,完成在所述第一应用服务器和所述第二应用服务器上的单点登录。
10.根据权利要求7所述的方法,其特征在于,所述缓存服务器还用于存储所述终端的访问信息,所述访问信息包括登录账户信息、基本信息和权限信息中的至少一种。
11.根据权利要求7-10任一项所述的方法,其特征在于,所述接收中央认证服务器发送的登录票据之前,所述方法还包括:
将所述登录票据对应的历史登录票据删除,实现单态登录。
12.一种中央认证服务器,其特征在于,所述中央认证服务器包括:发送器、第一处理器、第一存储器和第一通信总线,所述发送器和所述第一存储器通过所述第一通信总线与所述第一处理器进行通信,所述第一存储器存储所述第一处理器可执行的程序,当所述程序被执行时,通过所述发送器和所述第一处理器执行如权利要求4-6任一项所述的方法。
13.一种计算机可读存储介质,其上存储有程序,应用于中央认证服务器,其特征在于,所述程序被第一处理器执行时实现如权利要求4-6任一项所述的方法。
14.一种缓存服务器,其特征在于,所述缓存服务器包括:接收器、第二处理器、第二存储器和第二通信总线,所述接收器和所述第二存储器通过所述第二通信总线与所述第二处理器进行通信,所述第二存储器存储所述第二处理器可执行的程序,当所述程序被执行时,通过所述接收器和所述第二处理器执行如权利要求7-11任一项所述的方法。
15.一种计算机可读存储介质,其上存储有程序,应用于缓存服务器,其特征在于,所述程序被第二处理器执行时实现如权利要求7-11任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811512433.XA CN109587147A (zh) | 2018-12-11 | 2018-12-11 | 一种单点登录***、方法、服务器及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811512433.XA CN109587147A (zh) | 2018-12-11 | 2018-12-11 | 一种单点登录***、方法、服务器及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109587147A true CN109587147A (zh) | 2019-04-05 |
Family
ID=65928154
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811512433.XA Pending CN109587147A (zh) | 2018-12-11 | 2018-12-11 | 一种单点登录***、方法、服务器及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109587147A (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110120941A (zh) * | 2019-04-16 | 2019-08-13 | 石化盈科信息技术有限责任公司 | 一种基于云服务的单点登录方法 |
CN110381084A (zh) * | 2019-08-07 | 2019-10-25 | 北京三快在线科技有限公司 | 单点登录***和方法,存储介质及电子设备 |
CN111125653A (zh) * | 2019-12-18 | 2020-05-08 | 紫光云(南京)数字技术有限公司 | 一种基于Nginx和Redis的高并发统一认证的方法 |
CN111342964A (zh) * | 2020-05-15 | 2020-06-26 | 深圳竹云科技有限公司 | 单点登录方法、装置及*** |
CN111651747A (zh) * | 2020-05-11 | 2020-09-11 | 腾讯科技(深圳)有限公司 | 登录票据同步***及方法、相关设备 |
CN112613010A (zh) * | 2020-12-28 | 2021-04-06 | 北京世纪互联宽带数据中心有限公司 | 一种认证服务方法、装置、服务器及认证服务*** |
CN113067814A (zh) * | 2021-03-17 | 2021-07-02 | 成都飞鱼星科技股份有限公司 | 一种服务器与物联网终端的连接管控方法及装置 |
CN113259475A (zh) * | 2021-06-10 | 2021-08-13 | 大汉软件股份有限公司 | 一种基于微服务架构的分布式会话处理***及方法 |
CN116016624A (zh) * | 2022-12-26 | 2023-04-25 | 浪潮云信息技术股份公司 | 一种Kerberos票据信息的调用方法、装置及设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101902327A (zh) * | 2009-06-01 | 2010-12-01 | ***通信集团公司 | 一种实现单点登录的方法、设备及其*** |
CN103763326A (zh) * | 2014-01-28 | 2014-04-30 | 广州一呼百应网络技术有限公司 | 一种基于Memcache和Cookie的网站一站式登录方法和*** |
-
2018
- 2018-12-11 CN CN201811512433.XA patent/CN109587147A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101902327A (zh) * | 2009-06-01 | 2010-12-01 | ***通信集团公司 | 一种实现单点登录的方法、设备及其*** |
CN103763326A (zh) * | 2014-01-28 | 2014-04-30 | 广州一呼百应网络技术有限公司 | 一种基于Memcache和Cookie的网站一站式登录方法和*** |
Non-Patent Citations (5)
Title |
---|
李巨龙: "高并发统一身份认证平台的研究", 《中国优秀硕士学位论文全文数据库信息科技辑》 * |
李海山: "Web单点登录技术的应用研究", 《中国优秀硕士学位论文全文数据库信息科技辑》 * |
杨冬梅,冯凯: "基于缓存的分布式统一身份认证优化机制研究", 《计算机科学》 * |
杨超: "基于分布式服务框架Dubbo的集群式服务器的研究与实现", 《中国优秀硕士学位论文全文数据库信息科技辑》 * |
王彩霞: "具有容侵能力的集群CAS单点登录***研究与应用", 《中国优秀硕士学位论文全文数据库信息科技辑》 * |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110120941A (zh) * | 2019-04-16 | 2019-08-13 | 石化盈科信息技术有限责任公司 | 一种基于云服务的单点登录方法 |
CN110381084A (zh) * | 2019-08-07 | 2019-10-25 | 北京三快在线科技有限公司 | 单点登录***和方法,存储介质及电子设备 |
CN111125653A (zh) * | 2019-12-18 | 2020-05-08 | 紫光云(南京)数字技术有限公司 | 一种基于Nginx和Redis的高并发统一认证的方法 |
CN111651747A (zh) * | 2020-05-11 | 2020-09-11 | 腾讯科技(深圳)有限公司 | 登录票据同步***及方法、相关设备 |
CN111651747B (zh) * | 2020-05-11 | 2024-05-24 | 腾讯科技(深圳)有限公司 | 登录票据同步***及方法、相关设备 |
CN111342964A (zh) * | 2020-05-15 | 2020-06-26 | 深圳竹云科技有限公司 | 单点登录方法、装置及*** |
CN111342964B (zh) * | 2020-05-15 | 2020-08-11 | 深圳竹云科技有限公司 | 单点登录方法、装置及*** |
CN112613010A (zh) * | 2020-12-28 | 2021-04-06 | 北京世纪互联宽带数据中心有限公司 | 一种认证服务方法、装置、服务器及认证服务*** |
CN113067814A (zh) * | 2021-03-17 | 2021-07-02 | 成都飞鱼星科技股份有限公司 | 一种服务器与物联网终端的连接管控方法及装置 |
CN113259475A (zh) * | 2021-06-10 | 2021-08-13 | 大汉软件股份有限公司 | 一种基于微服务架构的分布式会话处理***及方法 |
CN113259475B (zh) * | 2021-06-10 | 2021-11-05 | 大汉软件股份有限公司 | 一种基于微服务架构的分布式会话处理***及方法 |
CN116016624A (zh) * | 2022-12-26 | 2023-04-25 | 浪潮云信息技术股份公司 | 一种Kerberos票据信息的调用方法、装置及设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109587147A (zh) | 一种单点登录***、方法、服务器及存储介质 | |
US10757225B2 (en) | Secure client-server communication | |
CN109413032B (zh) | 一种单点登录方法、计算机可读存储介质及网关 | |
US9942224B2 (en) | Management and authentication in hosted directory service | |
US9722991B2 (en) | Confidence-based authentication discovery for an outbound proxy | |
CN108259438B (zh) | 一种基于区块链技术的认证的方法和装置 | |
CN101331731B (zh) | 由身份提供商对联盟内的客户进行定制认证的方法、装置和程序产品 | |
JP4039632B2 (ja) | 認証システム、サーバおよび認証方法並びにプログラム | |
US9584615B2 (en) | Redirecting access requests to an authorized server system for a cloud service | |
US10243945B1 (en) | Managed identity federation | |
JP5765836B2 (ja) | パブリッシュ−サブスクライブ・モデルを用いたアイデンティティ・プロバイダ・ディスカバリ・サービス | |
CN102098158B (zh) | 跨域名单点登录和注销的方法、***及相应设备 | |
US8832857B2 (en) | Unsecured asset detection via correlated authentication anomalies | |
CN112613010A (zh) | 一种认证服务方法、装置、服务器及认证服务*** | |
US20190306148A1 (en) | Method for oauth service through blockchain network, and terminal and server using the same | |
CN107948167A (zh) | 一种单点登录的方法和装置 | |
CN103930897A (zh) | 移动应用、单点登录管理 | |
JP2024505418A (ja) | トークンベース認証システムにおけるスコープの制限 | |
US20110202991A1 (en) | Preserving privacy with digital identities | |
CN108289101A (zh) | 信息处理方法及装置 | |
WO2014048749A1 (en) | Inter-domain single sign-on | |
CN111062023B (zh) | 多应用***实现单点登录的方法及装置 | |
CN109495486B (zh) | 一种基于JWT的单页Web应用集成CAS的方法 | |
CN108076077A (zh) | 一种会话控制方法及装置 | |
CN113821784A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190405 |
|
RJ01 | Rejection of invention patent application after publication |