CN110708313B - 一种支持多模式的单点登录的系统 - Google Patents

一种支持多模式的单点登录的系统 Download PDF

Info

Publication number
CN110708313B
CN110708313B CN201910952992.0A CN201910952992A CN110708313B CN 110708313 B CN110708313 B CN 110708313B CN 201910952992 A CN201910952992 A CN 201910952992A CN 110708313 B CN110708313 B CN 110708313B
Authority
CN
China
Prior art keywords
login
bill
application
application system
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
CN201910952992.0A
Other languages
English (en)
Other versions
CN110708313A (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.)
Diankeyun Beijing Technology Co ltd
Original Assignee
China Electric Rice Information System Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by China Electric Rice Information System Co ltd filed Critical China Electric Rice Information System Co ltd
Priority to CN201910952992.0A priority Critical patent/CN110708313B/zh
Publication of CN110708313A publication Critical patent/CN110708313A/zh
Application granted granted Critical
Publication of CN110708313B publication Critical patent/CN110708313B/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
    • 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

Landscapes

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

Abstract

本发明公开了一种支持多模式的单点登录系统及方法,涉及计算机技术领域。所述系统包括客户端插件、应用系统、登录系统和缓存系统;所述方法的具体实施方式包括:步骤1、单点登录系统配置接入应用信息;步骤2、当用户首次访问接入单点登录的应用系统会跳转到登录页面;步骤3、当用户在登录页面完成登录认证后会重定向到用户之前访问的应用系统页面;步骤4、当用户访问其他接入单点登录的应用系统时无需登录即可访问。

Description

一种支持多模式的单点登录的系统
技术领域
本发明涉及计算机技术领域,尤其涉及一种支持多模式的单点登录系统及方法。
背景技术
登录系统是目前业界比较流行的一种企业内部相互信任的应用系统整合解决方案。通过单点登录,用户在浏览器上只需要登录一次就可以访问所有相互信任的应用系统。CAS是目前比较流行的一个开源单点登录方案,它默认采用CAS认证协议,通过在登录页面的Cookie中存储登录凭证CASTGC,并在服务端存储登录生成的临时和持久票据信息。首先,默认的CAS提供的客户端插件基于过滤器实现,在传统前后端集成在一起的应用中易于使用,当用户未登录或登录失效时可以通过直接在服务端重定向到登录页面。但对于前后端分离开发和部署的应用,前端和后端分开在不同的服务器上部署,前端和后端之间只通过ajax进行交互,此时后端无法重定向到登录页面。此外,票据信息的中心化存储对高并发访问条件下服务器的稳定性、可扩展性以及安全性带来了挑战。
发明内容
本发明基于CAS开源项目的基础上,提出了一种既支持传统应用又支持前后端分离应用的登录系统,并优化原有系统中中心化存储票据的方式,提高了系统的稳定性扩展了系统的适用场景。
本发明的技术方案为一种支持多模式的单点登录系统及方法,其中,所述系统包括客户端插件、应用系统、登录系统和缓存系统;
所述客户端插件包括前端插件和后端插件,其中前端插件为JS脚本文件,在前后端分离的WEB应用中随前端一起部署,后端插件为JAR包文件,部署在前后端集中部署的WEB应用和客户端应用中;
所述应用系统是接入到登录系统内的应用系统,指通过浏览器访问的WEB应用,包括前端网页与后台服务部署在一起的集中部署式应用和前端网页与后台服务分开部署的分布式应用,数量为一个以上;应用系统在接收到用户请求时,应用系统加载的客户端插件会拦截该请求,从请求中获取与用户对应的标志信息并判断该请求中所携带的标志信息是否合法有效,如果合法有效则请求通过;否则,应用服务器将请求重定向到登录系统的登录页面;
所述登录系统为单点登录系统,用于接收用户的登录信息并进行认证,认证成功后生成登录票据并保存;所述登录票据作为用户在应用系统的已登录凭证;所述登录系统还用于验证应用系统及浏览器发送的客户端票据及临时票据;
所述缓存系统根据存储的登录票据,与在登录系统中注册过的应用系统之间实现单点登录。
所述系统支持多种不同模式供应用系统调用,包括接口模式和插件模式;
其中,接口方式用于分布式应用的应用系统,分布式应用的应用系统直接调用接口,接口包括用户登录接口、用户退出接口、判断用户是否登录接口、获取用户信息接口和获取用户票据接口;
所述登录系统根据请求信息的内容返回相应信息或错误代码,应用系统根据错误代码进行相应操作;以登录接口为例,应用调用登录接口登录如果登录成功,则返回代码110000,如果登录失败,则返回代码110001,在接收到返回码以后,应用系统根据返回码的值执行显示具体页面或重定向到登录页的操作。
插件方式用于集中部署式应用的应用系统,所述应用系统不直接发送请求信息给登录系统,而通过所述客户端插件与登录系统交互。
在接口模式下,应用系统直接通过接口与单点登录系统交互,在插件模式下,应用系统不直接处理用户登录请求,而通过插件与单点登录系统交互;
通过在应用系统中配置,能够使应用系统运行于接口模式或者插件模式;
插件模式是应用接入的默认方式,只有在应用系统与所提供的插件不兼容或者对用户登录登请求需要进行特殊处理和独立控制时才使用接口模式;应用系统的特殊处理是指应用系统在执行登录登出等操作前后可能执行的如记录日志,操作审计,监控等行为,这些操作在单点登录插件中并不包含,因此应用系统只能通过直接调用接口的方式进行处理。
当应用运行于插件模式时,在接收到外部对应用系统的请求信息后,客户端插件判断发送请求信息的用户的登录状态,如果用户登录状态为未登录,对于分布式应用的应用系统,前端插件控制直接跳转至登录页面;对于集中部署式应用的应用系统,后端插件直接重定向到登录页面;
当应用运行于接口模式时,在接收到外部对应用系统的请求信息后,应用系统自行判断发送请求信息的用户的登录状态,如果用户登录状态为未登录,应用系统组装访问页面URL及登录页面URL得到登录地址,并重定向(不同的应用系统请求中标志信息的存储方式以及请求的重定向方式均不相同。对于安装于计算机操作系统的客户端应用和前后端分开部署的WEB应用,标志信息作为请求接口参数传递,对于前后端集中式部署的应用,标志信息通常被设置在请求的Cookie中传递。
对于前后端集中部署的WEB应用,请求重定向的方式是客户端后端插件直接返回重定向网址访问,对于前后端集中式部署的应用,请求重定向方式是客户端前端插件从应用配置文件中读取用户登录地址进行访问)。
所述前端插件在应用系统的前端程序中加载,后端插件在应用系统的后台程序中加载;所述分布式应用的应用系统需要在前端加载前端插件,后端加载后端插件;集中部署式应用的应用系统只需要在后端加载后端插件。
根据应用系统的实际请求,能够进行客户端插件工作模式配置,选择客户端插件的工作方式为前端插件或者后端插件。
所述登录票据是用户登录信息认证成功后,单点登录系统根据用户信息生成的128 位编码字符串,该字符串唯一代表了用户在单点登录系统的登录状态;
所述客户端票据是用户登录信息认证成功后,单点登录系统根据登录票据生成的32位字符串,该客户端票据与登录票据为一一对应关系;单点登录系统在登录请求返回时将该客户端票据设置在登录页面的Cookie中;
所述临时票据是单点登录系统根据用户登录票据以及应用系统唯一标识生成的32 位字符串,当用户向应用系统发送请求时,应用系统发送该临时票据到单点登录系统验证,无论验证是否成功,该临时票据都会失效;同时,临时票据默认过期时间为1 分钟,过期也会失效;应用系统每次登录时都必须重新申请临时票据,临时票据信息保存在应用系统的服务端。
本发明还提供了一种支持多模式的单点登录方法,当应用系统是前端网页与后台服务分开部署的分布式应用系统时,所述方法包括以下步骤:
步骤a1,在登录系统配置相互信任的并需要接入登录系统的应用系统信息;所述应用系统信息为应用的唯一ID,不同应用的唯一ID不能冲突;应用系统信息保存在登录系统后台的配置文件中,或者保存在数据库中;
步骤a2,为应用系统配置客户端插件,选择客户端插件的工作方式为前端插件,并设置登录系统与应用系统的交互方式为接口方式;
步骤a3,当用户访问已注册应用服务器App1时,通过客户端插件进行请求判断,若应用系统中存在有效票据,则说明已登录,访问通过;如果不存在有效票据,应用服务器App1将请求重定向到登录页面;
步骤a4,用户能够选择多种登录认证方式,包括静态密码登录方式和USB Key登录方式;登录成功后,单点登录系统根据用户名生成登录票据,并保存到缓存系统中,同时在登录页面的Cookie中写入登录票据ID,根据登录票据和请求来源应用生成临时票据,并将该临时票据添加到应用系统的请求URL中并跳转;临时票据也保存在缓存系统中,并设置有限的有效期限如5分钟,用户在有效期内未使用临时票据则需要重新登录申请,同时保证每一个临时票据只能被使用一次,使用过后立即删除。
步骤a5,应用系统接收到包含有临时票据的请求后,从请求链接中提取临时票据并发送至单点登录系统验证;
步骤a6,单点登录系统验证临时票据后,返回登录票据;
步骤a7,应用系统接收登录票据,并重定向到原始请求链接,此时由于应用系统中存在有效票据,请求通过;
步骤a8,用户访问另一已注册应用系统App2时,由于应用服务端不存在有效票据,应用服务器App2将请求重定向到单点登录系统登录页面;
步骤a9,跳转到单点登录系统登录页面时,登录页面中的脚本自动发送请求判断是否已登录,服务端在接收到请求后,从Cookie中获取票据ID,并根据票据ID查找票据,验证有效票据是否存在;
当票据存在时,证明已登录,单点登录系统根据票据以及请求来源应用生成临时票据,并将该临时票据添加到应用系统的请求URL中并跳转;如果票据不存在,则直接重定向至登录页面;
步骤a10,应用系统接收到包含有临时票据的请求后,从请求链接中提取临时票据并发送至单点登录系统验证;
步骤a11,单点登录系统验证临时票据后,返回登录票据;
步骤a12,应用系统接收登录票据,并重定向到原始请求链接,此时由于应用系统中存在有效票据,请求通过;
当应用系统是前端网页与后台服务部署在一起的集中部署式应用系统时,所述方法包括以下步骤:
步骤b1,在单点登录系统配置相互信任的并需要接入登录系统的应用系统信息;所述应用系统信息为应用的唯一ID,不同应用的唯一ID不能冲突;应用系统信息保存在登录系统后台的配置文件中,或者保存在数据库中;
步骤b2,为应用系统配置客户端插件,选择客户端插件的工作方式为后端插件,并设置登录系统与应用系统的交互方式为插件方式;
步骤b3,当用户访问已注册应用服务器App1时,通过客户端插件进行请求判断,若应用系统中已存在有效票据,则说明已登录,访问通过;如果不存在有效票据,应用服务器返回重定向请求,并通过客户端插件根据请求内容拼接重定向链接地址,并进行跳转;
步骤b4,用户能够选择多种登录认证方式,包括静态密码登录方式和USB Key登录方式,登录成功后,单点登录系统根据用户名生成登录票据,并保存到缓存系统中,同时在登录页面的Cookie中写入登录票据ID,根据登录票据和请求来源应用生成临时票据,并将临时票据添加到应用系统的请求URL中并跳转;
步骤b5,应用系统接收到包含有临时票据的请求后,从请求链接中提取临时票据并发送至单点登录系统验证;
步骤b6,单点登录系统验证临时票据后,返回登录票据;
步骤b7,应用系统接收登录票据,并重定向到原始请求链接,此时由于应用系统中存在有效票据,请求通过;
步骤b8,用户访问另一已注册应用系统App2时,由于应用服务端不存在有效票据,应用服务器将请求重定向到单点登录系统登录页面;
步骤b9,跳转到单点登录系统登录页面时,登录页面中的脚本自动发送请求判断是否已登录,单点登录系统在接收到请求后,从Cookie中获取票据ID,并根据票据ID 查找票据,验证有效票据是否存在;
当票据存在时,证明已登录,单点登录系统根据票据以及请求来源应用生成临时票据,并将该临时票据添加到应用系统的请求URL中并跳转;如果票据不存在,则直接重定向至登录页面;
步骤b10,应用系统接收到包含有临时票据的请求后,从请求链接中提取临时票据并发送至单点登录系统验证;
步骤b11,单点登录系统验证临时票据后,返回登录票据;
步骤b12,应用系统接收登录票据,并重定向到原始请求链接,此时由于应用系统中存在有效票据,请求通过。
有益效果:本发明基于单点登录技术基本原理结合应用集成的实际情况,开发了一种支持多模式的单点登录系统及方法。实际工程应用中需要集成单点登录功能的应用可能有多种不同的情况。有些应用基于标准的Servlet开发规范开发,则可以通过直接加载单点登录插件的方式实现无侵入性接入,无需修改业务代码。有些应用基于前后端分离的开发模式,则可以在前端和后端分别加载插件实现单点登录功能接入。有些应用使用C++或者php等非java语言开发,无法直接加载插件,则可以通过实现接口的方式进行单点登录功能接入。本发明提供的单点登录插件及接口能够适配以上多种不同模式的应用接入,在实际工程中产生了有益的效果。
附图说明
下面结合附图和具体实施方式对本发明做更进一步的具体说明,本发明的上述和/ 或其他方面的优点将会变得更加清楚。
图1本发明所述实例的单点登录方法流程图;
图2是本发明系统架构图。
图3为本发明实施例提供的一种部署示意图。
具体实施方式
以下结合附图和实例详细说明本发明技术方案。所描述的实施例仅是本发明的一部分实施例,而不是全部实施例。如图1和图2所示,现结合本文所述的一种支持多模式的单点登录方法的场景,以体现本文所述方法具有一定的适应性与通用性。
场景一:登录系统需要接入的客户端应用采用前后端集中式部署。其所述具体步骤如下:
步骤1,在所述登录系统服务端配置相互信任的并需要接入登录系统的应用系统信息;
步骤2,为所述应用系统配置客户端插件,并为应用设置模式为普通模式;进行步骤3;
步骤3,当用户访问已注册应用服务器App1时,通过客户端插件进行请求判断,若应用服务端已存在有效票据,则说明已登录,访问通过;如果没有,应用服务器将请求重定向到单点登录系统登录页面。
步骤4,可选地,用户可选择多种登录认证方式,如静态密码登录方式,USB Key 登录方式等。登录成功后,单点登录系统根据用户名生成登录票据,并保存到缓存系统中。在该页面的Cookie中写入登录票据ID。同时根据登录票据和请求来源应用生成临时票据,并将该临时票据添加到应用系统的请求URL中并跳转;
步骤5,应用系统接收到包含有临时票据的请求后,从请求链接中提取临时票据并发送至单点登录系统验证;
步骤6,单点登录系统验证临时票据后,返回登录票据。
步骤7,应用系统接收登录票据,并重定向到原始请求链接,此时由于应用系统中存在有效票据,请求通过;
步骤8,用户访问另一已注册应用系统App2时,由于应用服务端不存在有效票据,应用服务器将请求重定向到单点登录系统登录页面;
步骤9,跳转到单点登录系统登录页面时,自动发送请求判断是否已登录。服务端在接收到请求后,从Cookie中获取票据ID,并根据票据ID查找票据,验证有效票据是否存在;
步骤10,当票据存在时,证明已登录,服务端根据票据以及请求来源应用生成临时票据,并将该临时票据添加到应用系统的请求URL中并跳转;
步骤11,应用系统接收到包含有临时票据的请求后,从请求链接中提取临时票据并发送至单点登录系统验证;
步骤12,单点登录系统验证临时票据后,返回登录票据;
步骤13,应用系统接收登录票据,并重定向到原始请求链接,此时由于应用系统中存在有效票据,请求通过;
场景二:登录系统需要接入的客户端应用采用前后端分离式部署。其所述具体步骤如下:
步骤1,在所述登录系统服务端配置相互信任的并需要接入登录系统的应用系统信息;
步骤2,为所述应用系统配置客户端插件,并为应用设置模式为接口模式;进行步骤3;
步骤3,当用户访问已注册应用服务器App1时,通过客户端插件进行请求判断,若应用服务端已存在有效票据,则说明已登录,访问通过;如果没有,应用服务器返回重定向请求,并通过客户端插件根据请求内容拼接重定向链接地址,并进行跳转。
步骤4,可选地,用户可选择多种登录认证方式,如静态密码登录方式,USB Key 登录方式等。登录成功后,单点登录系统根据用户名生成登录票据,并保存到缓存系统中。在该页面的Cookie中写入登录票据ID。同时根据登录票据和请求来源应用生成临时票据,并将该临时票据添加到应用系统的请求URL中并跳转;
步骤5,应用系统接收到包含有临时票据的请求后,从请求链接中提取临时票据并发送至单点登录系统验证;
步骤6,单点登录系统验证临时票据后,返回登录票据。
步骤7,应用系统接收登录票据,并重定向到原始请求链接,此时由于应用系统中存在有效票据,请求通过;
步骤8,用户访问另一已注册应用系统App2时,由于应用服务端不存在有效票据,应用服务器将请求重定向到单点登录系统登录页面;
步骤9,跳转到单点登录系统登录页面时,自动发送请求判断是否已登录。服务端在接收到请求后,从Cookie中获取票据ID,并根据票据ID查找票据,验证有效票据是否存在;
步骤10,当票据存在时,证明已登录,服务端根据票据以及请求来源应用生成临时票据,并将该临时票据添加到应用系统的请求URL中并跳转;
步骤11,应用系统接收到包含有临时票据的请求后,从请求链接中提取临时票据并发送至单点登录系统验证;
步骤12,单点登录系统验证临时票据后,返回登录票据;
步骤13,应用系统接收登录票据,并重定向到原始请求链接,此时由于应用系统中存在有效票据,请求通过。
实施例
图3为本发明实施例提供的一种部署示意图。结合图3,包括:前后端分离部署的应用A,其ID为123456,前端部署在nginx服务器中,后端部署在tomcat服务器中。单点登录服务器,部署了单点登录程序,票据缓存系统,采用redis存储登录产生的票据信息。
在部署时,应用前端程序中加载单点登录前端插件,该插件为js文件,用于拦截用户请求,判断是否登录,及重定向至登录页面。应用后端程序中加载单点登录后端插件,该插件为jar文件,用于验证请求中携带票据是否正确。单点登录系统的配置文件中添加配置应用id为123456,以允许该应用进行登录认证。
本发明实施例提供了一种前后端分离部署的应用接入单点登录系统的实例,采用这种方式,用户的登录登出请求由单点登录前端插件和后端插件进行拦截和处理,不需要应用程序修改代码与单点登录服务器交互进行逻辑校验,实现了应用的无侵入性集成单点登录功能。
本发明提供了一种支持多模式的单点登录系统及方法,具体实现该技术方案的方法和途径很多,以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。本实施例中未明确的各组成部分均可用现有技术加以实现。

Claims (1)

1.一种支持多模式的单点登录的系统,其特征在于,包括客户端插件、应用系统、单点登录系统和缓存系统;
所述客户端插件包括前端插件和后端插件,前端插件为js文件,后端插件为jar文件;所述前端插件在应用系统的前端程序中加载,后端插件在应用系统的后台程序中加载;所述分布式应用的应用系统需要在前端加载前端插件,后端加载后端插件;集中部署式应用的应用系统只需要在后端加载后端插件;
所述应用系统是接入到单点登录系统内的应用系统,指通过浏览器访问的WEB应用,包括前端网页与后台服务部署在一起的集中部署式应用和前端网页与后台服务分开部署的分布式应用,数量为一个以上;应用系统在接收到用户请求时,应用系统加载的客户端插件会拦截该请求,从请求中获取与用户对应的标志信息并判断该请求中所携带的标志信息是否合法有效,如果合法有效则请求通过;否则,应用服务器将请求重定向到单点登录系统的登录页面;
所述单点登录系统用于接收用户的登录信息并进行认证,认证成功后生成登录票据并保存;所述登录票据作为用户在应用系统的已登录凭证;所述单点登录系统还用于验证应用系统及浏览器发送的客户端票据及临时票据;
所述缓存系统用于存储登录票据;
所述系统支持多种不同模式供应用系统调用,包括接口模式和插件模式;
其中,接口模式用于分布式应用的应用系统,分布式应用的应用系统直接调用接口,接口包括用户登录接口、用户退出接口、判断用户是否登录接口、获取用户信息接口和获取用户票据接口;
所述单点登录系统根据请求信息的内容返回相应信息或错误代码,应用系统根据错误代码进行相应操作;
插件模式用于集中部署式应用的应用系统,所述应用系统不直接发送请求信息给单点登录系统,而通过客户端插件与单点登录系统交互;
在接口模式下,应用系统直接通过接口与单点登录系统交互,在插件模式下,应用系统不直接处理用户登录请求,而通过客户端插件与单点登录系统交互;
通过在应用系统中配置,能够使应用系统运行于接口模式或者插件模式;
插件模式是应用接入的默认方式,只有在应用系统与所提供的插件不兼容或者对用户登录登请求需要进行特殊处理和独立控制时才使用接口模式;
当应用运行于插件模式时,在接收到外部对应用系统的请求信息后,客户端插件判断发送请求信息的用户的登录状态,如果用户登录状态为未登录,对于分布式应用的应用系统,前端插件控制直接跳转至登录页面;对于集中部署式应用的应用系统,后端插件直接重定向到登录页面;
当应用运行于接口模式时,在接收到外部对应用系统的请求信息后,应用系统自行判断发送请求信息的用户的登录状态,如果用户登录状态为未登录,应用系统组装访问页面URL及登录页面URL得到登录地址,并重定向;
根据应用系统的实际请求,能够进行客户端插件工作模式配置,选择客户端插件的工作方式为前端插件或者后端插件;
所述登录票据是用户登录信息认证成功后,单点登录系统根据用户信息生成的128位编码字符串,该字符串唯一代表了用户在单点登录系统的登录状态;
所述客户端票据是用户登录信息认证成功后,单点登录系统根据登录票据生成的32位字符串,该客户端票据与登录票据为一一对应关系;单点登录系统在登录请求返回时将该客户端票据设置在登录页面的Cookie中;
所述临时票据是单点登录系统根据用户登录票据以及应用系统唯一标识生成的32位字符串,当用户向应用系统发送请求时,应用系统发送该临时票据到单点登录系统验证,无论验证是否成功,该临时票据都会失效;同时,临时票据默认过期时间为1分钟,过期也会失效;应用系统每次登录时都必须重新申请临时票据,临时票据信息保存在应用系统的服务端;
当应用系统是前端网页与后台服务分开部署的分布式应用系统时,单点登录系统执行以下步骤:
步骤a1,在单点登录系统配置相互信任的并需要接入单点登录系统的应用系统信息;所述应用系统信息为应用的唯一ID,不同应用的唯一ID不能冲突;应用系统信息保存在单点登录系统后台的配置文件中,或者保存在数据库中;
步骤a2,为应用系统配置客户端插件,选择客户端插件的工作方式为前端插件,并设置单点登录系统与应用系统的交互方式为接口模式;
步骤a3,当用户访问已注册应用系统App1时,通过嵌入的客户端插件进行请求判断,若应用系统App1存在有效票据,则说明已登录,访问通过;如果不存在有效票据,应用系统App1的客户端插件将请求重定向到登录页面;
步骤a4,用户能够选择多种登录认证方式,包括静态密码登录方式和USB Key登录方式;登录成功后,单点登录系统根据用户名生成登录票据,并保存到缓存系统中,同时在登录页面的Cookie中写入登录票据ID,根据登录票据和请求来源应用生成临时票据,并将该临时票据添加到应用系统 App1的请求URL中并跳转;临时票据也保存在缓存系统中,并设置有限的有效期限,用户在有效期内未使用临时票据则需要重新登录申请,同时保证每一个临时票据只能被使用一次,使用过后立即删除;
步骤a5,应用系统App1接收到包含有临时票据的请求后,从请求链接中提取临时票据并发送至单点登录系统验证;
步骤a6,单点登录系统验证临时票据后,返回登录票据;
步骤a7,应用系统App1接收登录票据,并重定向到原始请求链接,此时由于应用系统App1中存在有效票据,请求通过;
步骤a8,用户访问另一已注册应用系统App2时,由于应用服务端不存在有效票据,应用系统App2将请求重定向到单点登录系统登录页面;
步骤a9,跳转到单点登录系统登录页面时,登录页面中的脚本自动发送请求判断是否已登录,单点登录系统在接收到请求后,将从Cookie中获取登录票据ID,并根据登录票据ID查找登录票据,验证该登录票据是否存在;
当登录票据存在时,证明已登录,单点登录系统根据登录票据以及请求来源的应用系统App2生成临时票据,并将该临时票据添加到应用系统App2的请求URL中并跳转;如果登录票据不存在,则直接重定向至登录页面;
步骤a10,应用系统App2接收到包含有临时票据的请求后,从请求链接中提取临时票据并发送至单点登录系统验证;
步骤a11,单点登录系统验证临时票据后,返回登录票据;
步骤a12,应用系统App2接收登录票据,并重定向到原始请求链接,此时由于应用系统App2中存在有效票据,请求通过;
当应用系统是前端网页与后台服务部署在一起的集中部署式应用系统时,所述方法包括以下步骤:
步骤b1,在单点登录系统配置相互信任的并需要接入单点登录系统的应用系统信息;所述应用系统信息为应用的唯一ID,不同应用的唯一ID不能冲突;应用系统信息保存在单点登录系统后台的配置文件中,或者保存在数据库中;
步骤b2,为应用系统配置客户端插件,选择客户端插件的工作方式为后端插件,并设置单点登录系统与应用系统的交互方式为插件模式;
步骤b3,当用户访问已注册应用系统App1时,通过客户端插件进行请求判断,若应用系统App1中存在有效票据,则说明已登录,访问通过;如果不存在有效票据,应用系统App1返回重定向请求,并通过客户端插件根据请求内容拼接重定向链接地址,并进行跳转;
步骤b4,用户能够选择多种登录认证方式,包括静态密码登录方式和USB Key登录方式,登录成功后,单点登录系统根据用户名生成登录票据,并保存到缓存系统中,同时在登录页面的Cookie中写入登录票据ID,根据登录票据和请求来源应用生成临时票据,并将临时票据添加到应用系统App1的请求URL中并跳转;
步骤b5,应用系统App1接收到包含有临时票据的请求后,从请求链接中提取临时票据并发送至单点登录系统验证;
步骤b6,单点登录系统验证临时票据后,返回登录票据;
步骤b7,应用系统App1接收登录票据,并重定向到原始请求链接,此时由于应用系统App1中存在有效票据,请求通过;
步骤b8,用户访问另一已注册应用系统App2时,由于应用服务端不存在有效票据,应用系统App2将请求重定向到单点登录系统登录页面;
步骤b9,跳转到单点登录系统登录页面时,登录页面中的脚本自动发送请求判断是否已登录,单点登录系统在接收到请求后,从Cookie中获取登录票据ID,并根据登录票据ID查找登录票据,验证该登录票据是否存在;
当登录票据存在时,证明已登录,单点登录系统根据登录票据以及请求来源的应用系统App2生成临时票据,并将该临时票据添加到应用系统App2的请求URL中并跳转;如果登录票据不存在,则直接重定向至登录页面;
步骤b10,应用系统App2接收到包含有临时票据的请求后,从请求链接中提取临时票据并发送至单点登录系统验证;
步骤b11,单点登录系统验证临时票据后,返回登录票据;
步骤b12,应用系统App2接收登录票据,并重定向到原始请求链接,此时由于应用系统App2中存在有效票据,请求通过。
CN201910952992.0A 2019-10-09 2019-10-09 一种支持多模式的单点登录的系统 Active CN110708313B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910952992.0A CN110708313B (zh) 2019-10-09 2019-10-09 一种支持多模式的单点登录的系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910952992.0A CN110708313B (zh) 2019-10-09 2019-10-09 一种支持多模式的单点登录的系统

Publications (2)

Publication Number Publication Date
CN110708313A CN110708313A (zh) 2020-01-17
CN110708313B true CN110708313B (zh) 2021-08-27

Family

ID=69198343

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910952992.0A Active CN110708313B (zh) 2019-10-09 2019-10-09 一种支持多模式的单点登录的系统

Country Status (1)

Country Link
CN (1) CN110708313B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111931157A (zh) * 2020-08-12 2020-11-13 广东电力信息科技有限公司 单点登录系统的接入方法、装置、存储介质和计算机设备
CN112688937A (zh) * 2020-12-22 2021-04-20 武汉烽火众智数字技术有限责任公司 一种跨应用的异构应用下系统单点登录的登录方法
CN113268720B (zh) * 2021-06-01 2023-05-26 广州欢网科技有限责任公司 一种前后端分离系统操作方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102571822A (zh) * 2012-02-27 2012-07-11 杭州闪亮科技有限公司 单点登录系统及其实现方法
CN108040072A (zh) * 2018-01-22 2018-05-15 公安部交通管理科学研究所 分布式网络下移动互联网app单点登录的系统和方法
CN109639711A (zh) * 2018-12-29 2019-04-16 成都康赛信息技术有限公司 一种基于私有链会话id的分布式cas认证方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019036012A1 (en) * 2017-08-18 2019-02-21 Sears Brands, L.L.C. SINGLE SIGNATURE OF A USER OF AN APPLICATION

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102571822A (zh) * 2012-02-27 2012-07-11 杭州闪亮科技有限公司 单点登录系统及其实现方法
CN108040072A (zh) * 2018-01-22 2018-05-15 公安部交通管理科学研究所 分布式网络下移动互联网app单点登录的系统和方法
CN109639711A (zh) * 2018-12-29 2019-04-16 成都康赛信息技术有限公司 一种基于私有链会话id的分布式cas认证方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
《前后端分离的项目集成CAS》;一头磕在键盘上;《https://blog.csdn.net/qq_21251983/article/details/87631991》;20190218;1-7 *
基于CAS的单点登录系统的研究与实现;赵晋等;《软件》;20161115(第11期);118-124 *
基于票据的单点登录系统设计与实现;李晓永等;《现代电子技术》;20150701(第13期);85-92 *

Also Published As

Publication number Publication date
CN110708313A (zh) 2020-01-17

Similar Documents

Publication Publication Date Title
CN110708313B (zh) 一种支持多模式的单点登录的系统
US8365271B2 (en) Controlling access of a client system to access protected remote resources supporting relative URLs
CN109547458B (zh) 登录验证方法、装置、计算机设备及存储介质
US8661420B2 (en) System and method for runtime interface versioning
US20220188745A1 (en) Method and system for accessing local computer resources through a web browser
US10476733B2 (en) Single sign-on system and single sign-on method
CN109495486B (zh) 一种基于JWT的单页Web应用集成CAS的方法
CN111447184A (zh) 单点登录方法及装置、系统、计算机可读存储介质
CN111431920A (zh) 一种基于动态令牌的安全控制方法及系统
US8127033B1 (en) Method and apparatus for accessing local computer system resources from a browser
CN111770072B (zh) 一种单点登录接入功能页面的方法和装置
CN112039889A (zh) 免密码登录方法、装置、设备及存储介质
CN111342964B (zh) 单点登录方法、装置及系统
CN112688937A (zh) 一种跨应用的异构应用下系统单点登录的登录方法
CN113761509B (zh) iframe验证登录方法及装置
CN113239308B (zh) 一种页面访问方法、装置、设备及存储介质
KR101622514B1 (ko) 서버에 대한 웹 요청들의 위조의 방지
CN107911379B (zh) 一种cas服务器
CN113411324B (zh) 基于cas与第三方服务器实现登录认证的方法和系统
KR20160109241A (ko) 리소스의 안전성 검증 장치와 서버 및 검증방법
CN112134705A (zh) 数据鉴权的方法及装置、存储介质和电子装置
CN109981666A (zh) 一种接入方法、接入系统和接入服务器
CN115102782B (zh) 客户端的认证方法及装置、存储介质、计算机设备
CN117857160A (zh) 一种基于反向代理的单点登录方法以及反向代理服务器
KR100434436B1 (ko) 웹모듈 인증 장치 및 방법

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
TA01 Transfer of patent application right

Effective date of registration: 20200119

Address after: 210000 No. 1 East Garden Street, Qinhuai District, Jiangsu, Nanjing

Applicant after: China Electric Rice Information System Co., Ltd.

Address before: 210007 No. 1 East Street, alfalfa garden, Jiangsu, Nanjing

Applicant before: The 28th Research Institute of China Electronic Science and Technology Group Corporation

TA01 Transfer of patent application right
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information

Address after: No.1 Lingshan South Road, Qixia District, Nanjing, Jiangsu Province, 210000

Applicant after: China Electric Rice Information System Co.,Ltd.

Address before: 210000 No. 1 East Garden Street, Qinhuai District, Jiangsu, Nanjing

Applicant before: China Electric Rice Information System Co.,Ltd.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20220510

Address after: 1401, floor 14, building 4, yard 54, Shijingshan Road, Shijingshan District, Beijing 100041

Patentee after: Diankeyun (Beijing) Technology Co.,Ltd.

Address before: 210000 No.1, Lingshan South Road, Qixia District, Nanjing City, Jiangsu Province

Patentee before: China Electric Rice Information System Co.,Ltd.

TR01 Transfer of patent right