CN109165500B - 一种基于跨域技术的单点登录认证系统及方法 - Google Patents

一种基于跨域技术的单点登录认证系统及方法 Download PDF

Info

Publication number
CN109165500B
CN109165500B CN201811024085.1A CN201811024085A CN109165500B CN 109165500 B CN109165500 B CN 109165500B CN 201811024085 A CN201811024085 A CN 201811024085A CN 109165500 B CN109165500 B CN 109165500B
Authority
CN
China
Prior art keywords
ticket information
subsystem
target
browser
information
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
CN201811024085.1A
Other languages
English (en)
Other versions
CN109165500A (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.)
Inspur Cloud Information Technology Co Ltd
Original Assignee
Inspur Cloud Information Technology 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 Inspur Cloud Information Technology Co Ltd filed Critical Inspur Cloud Information Technology Co Ltd
Priority to CN201811024085.1A priority Critical patent/CN109165500B/zh
Publication of CN109165500A publication Critical patent/CN109165500A/zh
Application granted granted Critical
Publication of CN109165500B publication Critical patent/CN109165500B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/41User authentication where a single sign-on provides access to a plurality of computers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)
  • Storage Device Security (AREA)

Abstract

本发明提供了一种基于跨域技术的单点登录认证系统及方法,该系统包括用户端、主系统、总线系统、主系统对应的至少一个子系统。用户端通过浏览器接收外部针对主系统的登录请求,记录其携带的目标用户信息并据此登录主系统;通过浏览器在接收到外部针对一子系统的登录请求时,触发该子系统以使其将主系统存储的ticket信息发送给总线系统;记录有一子系统发来的用户信息时,通过浏览器登录该子系统。主系统根据目标用户信息、用户端的IP地址、浏览器的类型,生成目标ticket信息并存储。总线系统存储目标ticket信息,当存储有一子系统发来的ticket信息时,将其中的用户信息返回。因此,本方案能够实现跨域登录认证。

Description

一种基于跨域技术的单点登录认证系统及方法
技术领域
本发明涉及计算机技术领域,特别涉及一种基于跨域技术的单点登录认证系统及方法。
背景技术
单点登录是目前比较流行的企业业务整合的解决方案之一。在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。
目前,用户登录成功后,可将用户信息保存在session(时域)中,sessionId保存在cookie(储存在用户本地终端上的数据)中,每次访问需要登录访问的资源,比如URL(Uniform Resource Locator,统一资源定位符)时,判断当前session是否为空,为空的话跳转到登录界面登录,不为空的话允许访问。
但是,现有实现方式不能实现跨域登录认证。
发明内容
本发明提供了一种基于跨域技术的单点登录认证系统及方法,能够实现跨域登录认证。
为了达到上述目的,本发明是通过如下技术方案实现的:
一方面,本发明提供了一种基于跨域技术的单点登录认证系统,包括:
用户端、主系统、总线系统、所述主系统对应的至少一个子系统;
其中,所述用户端,用于通过运行的浏览器,在接收到外部针对所述主系统的、携带有目标用户信息的登录请求时,将所述目标用户信息发送给所述主系统,根据所述目标用户信息登录所述主系统并记录所述目标用户信息;通过运行的所述浏览器,在接收到外部针对任一所述子系统的登录请求时,触发该子系统;在接收到任一所述子系统发来的用户信息时,判断是否记录有该子系统发来的用户信息,若是,通过运行的所述浏览器,登录该子系统;
所述主系统,用于根据所述目标用户信息、所述用户端的IP地址、所述浏览器的类型,生成目标ticket信息;存储所述目标ticket信息并将其发送给所述总线系统;
所述总线系统,用于存储所述目标ticket信息;针对每一个所述子系统均执行:接收当前子系统发来的ticket信息,判断是否存储有与接收到的ticket信息相一致的第一ticket信息,若是,将所述第一ticket信息中的用户信息返回至所述当前子系统;
每一个所述子系统,均用于经所述用户端触发,将所述主系统存储的ticket信息发送给所述总线系统;将所述总线系统返回的用户信息发送给所述用户端。
进一步地,所述主系统包括企业数据管理门户网站时,所述单点登录认证系统还包括:数据管理系统;
所述企业数据管理门户网站,具体用于根据预设的加密方式加密所述目标用户信息、所述用户端的IP地址、所述浏览器的类型,以生成所述目标ticket信息;
所述数据管理系统,用于使用令牌传参方式从所述企业数据管理门户网站中获取所述目标ticket信息,并获取到的所述目标ticket信息、经所述企业数据管理门户网站的LDAP(Lightweight Directory Access Protocol,轻量目录访问协议)接口而返回的所述目标ticket信息中的用户信息,传输给所述总线系统;
每一个所述子系统,均具体用于经所述用户端触发,通过重定向技术获得企业数据管理门户网站存储的ticket信息,并将获得的ticket信息发送给所述总线系统以请求登录验证。
进一步地,该单点登录认证系统还包括:证书导入单元;
其中,所述证书导入单元,用于使用jdk自带的keytool生成CAS(CentralAuthentication Service,中央认证服务器)证书;导出所述CAS证书;将导出的CAS证书导入到所述数据管理系统的客户端;
所述总线系统,还用于下载CAS的服务端并解压,把解压后的文件中,modules文件夹中的cas-server-webapp-3.4.8.war文件拷贝到%TOMCAT_HOME%\webapps下,并修改文件名为cas.war;修改%TOMCAT_HOME%\conf\server.xml文件;访问http://yourhost:8443/cas,输入用户名和密码进行登录,以完成CAS服务端配置;
每一个所述子系统,均用于配置过滤器,以通过浏览器重定向来获得ticket信息。
进一步地,所述用户端,还用于在监测到外部针对所述主系统的退出登录操作,或,针对所述浏览器的关闭操作时,清除所述目标用户信息,控制处于登录状态的每一个所述子系统退出登录,并经所述主系统触发所述总线系统清除所述目标ticket信息。
进一步地,所述用户端,还用于通过运行的所述浏览器,基于所述目标用户信息以访问所述主系统的JSP(Java Server Pages,JAVA服务器页面);基于所述浏览器存储所述JSP返回的cookie;生成所述JSP的session所对应的jssessionid,并在URL中记录所述jssessionid;在监测到外部针对所述主系统的退出登录操作,或,针对所述浏览器的关闭操作时,删除所述cookie和所述jssessionid。
另一方面,本发明提供了一种基于跨域技术的单点登录认证方法,包括:
用户端通过运行的浏览器,在接收到外部针对主系统的、携带有目标用户信息的登录请求时,将所述目标用户信息发送给所述主系统,根据所述目标用户信息登录所述主系统并记录所述目标用户信息;
所述主系统根据所述目标用户信息、所述用户端的IP地址、所述浏览器的类型,生成目标ticket信息,存储所述目标ticket信息并将其发送给总线系统;
所述总线系统存储所述目标ticket信息;
所述用户端通过运行的所述浏览器,在接收到外部针对所述主系统对应的任一子系统的登录请求时,触发该子系统;
每一个所述子系统经所述用户端触发,将所述主系统存储的ticket信息发送给所述总线系统;
所述总线系统针对每一个所述子系统均执行:接收当前子系统发来的ticket信息,判断是否存储有与接收到的ticket信息相一致的第一ticket信息,若是,将所述第一ticket信息中的用户信息返回至所述当前子系统;
每一个所述子系统将所述总线系统返回的用户信息发送给所述用户端;
所述用户端在接收到任一所述子系统发来的用户信息时,判断是否记录有该子系统发来的用户信息,若是,通过运行的所述浏览器,登录该子系统。
进一步地,所述主系统包括企业数据管理门户网站;
所述主系统根据所述目标用户信息、所述用户端的IP地址、所述浏览器的类型,生成目标ticket信息包括:所述企业数据管理门户网站根据预设的加密方式加密所述目标用户信息、所述用户端的IP地址、所述浏览器的类型,以生成所述目标ticket信息;
所述主系统将所述目标ticket信息发送给总线系统,包括:数据管理系统使用令牌传参方式从所述企业数据管理门户网站中获取所述目标ticket信息,并获取到的所述目标ticket信息、经所述企业数据管理门户网站的LDAP接口而返回的所述目标ticket信息中的用户信息,传输给所述总线系统;
所述每一个所述子系统经所述用户端触发,将所述主系统存储的ticket信息发送给所述总线系统,包括:每一个所述子系统经所述用户端触发,通过重定向技术获得企业数据管理门户网站存储的ticket信息,并将获得的ticket信息发送给所述总线系统以请求登录验证。
进一步地,该方法还包括:证书导入单元使用jdk自带的keytool生成CAS证书,导出所述CAS证书,将导出的CAS证书导入到所述数据管理系统的客户端;
所述总线系统下载CAS的服务端并解压,把解压后的文件中,modules文件夹中的cas-server-webapp-3.4.8.war文件拷贝到%TOMCAT_HOME%\webapps下,并修改文件名为cas.war;修改%TOMCAT_HOME%\conf\server.xml文件;访问http://yourhost:8443/cas,输入用户名和密码进行登录,以完成CAS服务端配置;
每一个所述子系统配置过滤器,以通过浏览器重定向来获得ticket信息。
进一步地,该方法还包括:所述用户端在监测到外部针对所述主系统的退出登录操作,或,针对所述浏览器的关闭操作时,清除所述目标用户信息,控制处于登录状态的每一个所述子系统退出登录,并经所述主系统触发所述总线系统清除所述目标ticket信息。
进一步地,该方法还包括:所述用户端通过运行的所述浏览器,基于所述目标用户信息以访问所述主系统的JSP;基于所述浏览器存储所述JSP返回的cookie;生成所述JSP的session所对应的jssessionid,并在URL中记录所述jssessionid;在监测到外部针对所述主系统的退出登录操作,或,针对所述浏览器的关闭操作时,删除所述cookie和所述jssessionid。
本发明提供了一种基于跨域技术的单点登录认证系统及方法,该系统包括用户端、主系统、总线系统、主系统对应的至少一个子系统。用户端通过浏览器接收外部针对主系统的登录请求,记录其携带的目标用户信息并据此登录主系统;通过浏览器在接收到外部针对一子系统的登录请求时,触发该子系统以使其将主系统存储的ticket信息发送给总线系统;记录有一子系统发来的用户信息时,通过浏览器登录该子系统。主系统根据目标用户信息、用户端的IP地址、浏览器的类型,生成目标ticket信息并存储。总线系统存储目标ticket信息,当存储有一子系统发来的ticket信息时,将其中的用户信息返回。因此,本发明能够实现跨域登录认证。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例提供的一种基于跨域技术的单点登录认证系统的示意图;
图2是本发明一实施例提供的另一种基于跨域技术的单点登录认证系统的示意图;
图3是本发明一实施例提供的一种实现单点登录认证的业务流程的示意图;
图4是本发明一实施例提供的一种基于跨域技术的单点登录认证方法的流程图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明实施例提供了一种基于跨域技术的单点登录认证系统,可以包括:用户端101、主系统102、总线系统103、所述主系统102对应的至少一个子系统104;
其中,所述用户端101,用于通过运行的浏览器,在接收到外部针对所述主系统102的、携带有目标用户信息的登录请求时,将所述目标用户信息发送给所述主系统102,根据所述目标用户信息登录所述主系统102并记录所述目标用户信息;通过运行的所述浏览器,在接收到外部针对任一所述子系统104的登录请求时,触发该子系统104;在接收到任一所述子系统104发来的用户信息时,判断是否记录有该子系统104发来的用户信息,若是,通过运行的所述浏览器,登录该子系统104;
所述主系统102,用于根据所述目标用户信息、所述用户端101的IP地址、所述浏览器的类型,生成目标ticket信息;存储所述目标ticket信息并将其发送给所述总线系统103;
所述总线系统103,用于存储所述目标ticket信息;针对每一个所述子系统104均执行:接收当前子系统发来的ticket信息,判断是否存储有与接收到的ticket信息相一致的第一ticket信息,若是,将所述第一ticket信息中的用户信息返回至所述当前子系统;
每一个所述子系统104,均用于经所述用户端101触发,将所述主系统102存储的ticket信息发送给所述总线系统103;将所述总线系统103返回的用户信息发送给所述用户端101。
本发明实施例提供了一种基于跨域技术的单点登录认证系统,包括用户端、主系统、总线系统、主系统对应的至少一个子系统。用户端通过浏览器接收外部针对主系统的登录请求,记录其携带的目标用户信息并据此登录主系统;通过浏览器在接收到外部针对一子系统的登录请求时,触发该子系统以使其将主系统存储的ticket信息发送给总线系统;记录有一子系统发来的用户信息时,通过浏览器登录该子系统。主系统根据目标用户信息、用户端的IP地址、浏览器的类型,生成目标ticket信息并存储。总线系统存储目标ticket信息,当存储有一子系统发来的ticket信息时,将其中的用户信息返回。因此,本发明实施例能够实现跨域登录认证。
详细地,基于跨域技术完成单点登录服务认证,可以采用服务端的session和客户端的cookies信息来完成跨域访问和信息传递,以保持同一个浏览器下不同系统或服务的访问和调度。子系统或服务获得ticket信息后,需与总线系统获得访问权限认证和用户信息返回等,提供访问安全和数据完成性,同时也实现用户信息的独特性和唯一性。
在本发明的一个实施例中,请参考图2,所述主系统102包括企业数据管理门户网站1021时,所述单点登录认证系统还包括:数据管理系统201;
所述企业数据管理门户网站1021,具体用于根据预设的加密方式加密所述目标用户信息、所述用户端101的IP地址、所述浏览器的类型,以生成所述目标ticket信息;
所述数据管理系统201,用于使用令牌传参方式从所述企业数据管理门户网站1021中获取所述目标ticket信息,并获取到的所述目标ticket信息、经所述企业数据管理门户网站1021的LDAP接口而返回的所述目标ticket信息中的用户信息,传输给所述总线系统103;
每一个所述子系统104,均具体用于经所述用户端101触发,通过重定向技术获得企业数据管理门户网站1021存储的ticket信息,并将获得的ticket信息发送给所述总线系统103以请求登录验证。
详细地,用户经浏览器登录企业数据管理门户网站时,可以经数据管理系统以实现企业数据管理门户网站与总线系统间的信息交互。对应地,登录企业数据管理门户网站后,用户经同一类型浏览器登录任一子系统,以向总线系统请求登录验证时,可以无需数据管理系统的参与。
基于上述内容,具体地,基于数据管理系统和消息服务总线权限控制对接企业数据管理门户网站LDAP,实现单点登录机制,数据管理系统使用令牌传参方式来实现获得用户在企业数据管理门户网站的登录信息,并负责传输给消息服务总线进行保存,同时提供该登录用户唯一标识的ticket信息,其他系统通过重定向技术获得浏览器的ticket信息,并发送消息服务总线进行验证,完成单点登录效果。
举例来说,如业务人员A登录企业数据管理门户网站,此时数据管理系统会发现业务人员A登录ticket信息和企业数据管理门户网站的LADP接口返回的user_info信息给总线系统保存,此时在该浏览器上面访问总线管理平台,管控平台会通过重定向方法获得ticket信息,并发送给总线进行验证,并得到user_info信息,从而完成免密登录后台管理系统,完成单点登录效果。
举例来说,请参考图3,提供了一种实现单点登录认证的业务流程的示意图,图3中的业务系统可以对应于企业数据管理门户网站。
图3中,F1可以为“GET http://www.app01.com”;F2可以为“302 Location:http://150.20.19.236/vk-tax-web/sso/login?service=http%3A%2F%2Fwww.app01.com”;F3可以为“GET http://150.20.19.236/vk-tax-web/sso/login?service=http%3A%2F%2Fwww.app01.com”;F4可以为“将ticket和user_info推送给总线”;F5可以为“302 Location:http://www.app01.com?ticket=ST-123456”;F6可以为“GET http://www.app01.com?ticket=ST-123456”;F7可以为“去总线验证ticket”;F8可以为“ticket验证成功,返回user_info”;F9可以为“Set-Cookie 302 Location:http:www.app01.com”;F10可以为“GET http:www.app01.com”;F11可以为“200 OK”;F12可以为“GET http://www.app01.com”;F13可以为“200 OK”。
其中,S1可以为“无本系统会话,使用单点登录,将请求连接编码作为service,并重定向到数据管理系统单点登录接口”;S2可以为“保持ticket和user_info”;S3可以为“ticket验证成功,建立本系统会话,重定向到原始请求链接,以避免ticket直接在地址栏显示”;S4可以为“已有本系统会话,直接放行”。
在本发明的一个实施例中,请参考图2,该单点登录认证系统还包括:证书导入单元202;
其中,所述证书导入单元202,用于使用jdk自带的keytool生成CAS证书;导出所述CAS证书;将导出的CAS证书导入到所述数据管理系统201的客户端;
所述总线系统103,还用于下载CAS的服务端并解压,把解压后的文件中,modules文件夹中的cas-server-webapp-3.4.8.war文件拷贝到%TOMCAT_HOME%\webapps下,并修改文件名为cas.war;修改%TOMCAT_HOME%\conf\server.xml文件;访问http://yourhost:8443/cas,输入用户名和密码进行登录,以完成CAS服务端配置;
每一个所述子系统104,均用于配置过滤器,以通过浏览器重定向来获得ticket信息。
详细地,CAS是一个独立于平台的,易于理解的基于JAVA的开源框架或软件,支持代理功能,它能为多个应用提供单点登录的基础架构,同时也可以为非web应用但拥有web的前端功能提供单点登录认证服务功能,它将为用户身份认证集中于单一的web应用,让用户简化密码管理,从而提高安全性;二期当应用程序需要修改身份验证的业务逻辑时,不需要修改过多的代码。
基于上述内容,CAS证书可用于实现此单点登录,CAS证书是服务器端和客户端安全通信的凭证,可使用jdk自带keytool生成证书。对于此命令的执行,相关实现代码可以所示:
C:﹨Documents and Settings﹨cocosily>keytool–genkey–alias smalllove–keyalg RSA–keystore D:/keys/smallkey
输入keystore密码:
您的名字与姓氏是什么?
[Unknown]:sun
您的组织名称是什么?
[Unknown]:asmlllove
您所在的城市或区域名称是什么?
[Unknown]:西安
您所在的州或省份名称是什么?
[Unknown]:陕西
该单位的两字母国家代码是什么
[Unknown]:ZH
CN=sun,OU=smalllove,O=smalllove,L=西安,ST=陕西,C=ZH正确吗?
[否]:y
输入<smalllove>的主密码
(如果和keystore密码相同,按回车)
再次输入新密码:
C:﹨Documents and Settings﹨cocosily>
详细地,对于导出证书,相关实现代码可以所示:
C:﹨>keytool–export–file d:/keys/small.crt–alias smalllove–keystored:/keys/smallkey
输入keystore密码:
保存在文件中的认证<d:/keys/small.crt>
C:﹨>=
详细地,对于将生成的CAS证书导入到客户端,相关实现代码可以所示:
C:﹨>keytool–impotr–keystore C:﹨Java﹨jdki.6.0-21﹨jre/lib﹨security﹨cacerts–file
D:/keys/small.crt–alias smalllove
再次输入新密码:
所有者:CN=sun,OU=smalllove,O=smalllove,L=西安,ST=陕西,C=ZH
签发人:CN=sun,OU=smalllove,O=smalllove,L=西安,ST=陕西,C=ZH
序列号:4e3cb2ca
有效期:Sat Aug 06 11:19:38 CST 2011至Fri Nov 04 11:19:38 CST 2011
证书指纹:
MD5:CB:D7:AE:B9:D7:6F:ED:83:87:54:EE:57:A6:F6:22:91
SHA1:16:8C:B3:BD:8C:1E:E2:14:08:D5:75:F1:D5:35:3B:B4:7C:AC:89:5E
签名算法名称:SHA1withRSA
版本:3
信任这个认证?[否]:y
认证已添加至keystore中
C:﹨>
详细地,对于修改%TOMCAT_HOME%\conf\server.xml文件,可以去掉此文件83到93行之间的注释,修改为:
Figure BDA0001787791960000121
详细地,输入用户名和密码进行登录时,输入的用户名和密码均可以为admin。登录成功,即完成CAS服务端配置。
详细地,对于客户端配置过滤器,相关实现代码可以所示:
Figure BDA0001787791960000122
Figure BDA0001787791960000131
详细地,通过浏览器重定向获取ticket,可根据ticket去总线服务验证和获得用户信息,相关实现代码可以所示:
Figure BDA0001787791960000132
其中,获得的用户信息内容,可以为下述内容:
Figure BDA0001787791960000133
Figure BDA0001787791960000141
详细地,单点登录是一种多站点共享登录访问授权机制,访问用户只需要在一个站点登录就可以访问其它站点需要登录访问的资源(URL)。用户在一个站点注销登录,则其它站点的登录状态也被注销。简而言之就是:一处登录,处处登录,一处注销,处处注销。
基于上述内容,在本发明的一个实施例中,所述用户端101,还用于在监测到外部针对所述主系统102的退出登录操作,或,针对所述浏览器的关闭操作时,清除所述目标用户信息,控制处于登录状态的每一个所述子系统104退出登录,并经所述主系统102触发所述总线系统103清除所述目标ticket信息。
在本发明的一个实施例中,所述用户端101,还用于通过运行的所述浏览器,基于所述目标用户信息以访问所述主系统102的JSP;基于所述浏览器存储所述JSP返回的cookie;生成所述JSP的session所对应的jssessionid,并在URL中记录所述jssessionid;在监测到外部针对所述主系统102的退出登录操作,或,针对所述浏览器的关闭操作时,删除所述cookie和所述jssessionid。
详细地,cookie和session机制是为了解决HTTP协议的无状态而生的,其中,cookie是客户端保存用户信息的机制,session是服务器保存用户信息的机制。cookie可以是在浏览器中的一个文本,当浏览器第一次访问jsp时,jsp response会给浏览器返回一个cookie,然后浏览器存储它。
cookie具有不可跨域性,但cookie和session联合使用可以解决跨域记录用户用户信息的问题。为了使浏览器记住服务器的session,浏览器会生成一个id,这个id就叫做jssessionid。为了防止一些浏览器禁用cookie,javaEE标准退出了URL的重写,使url里面记录jssessionid。这一让浏览器记住服务器的session的形式可以叫做会话cookie,会话cookie在用户登出或者浏览器关闭后自动删除,这样叫做一次会话。CAS这样的sso(SingleSign On,单点登录)解决方案可构建在cookie和session标准之上的。
综上所述,本发明实施例可以通过服务端的Session、客户端的Cookies、和js跨域重定向技术,实现子系统单点登录效果,解决传统系统间无法跨域免登陆访问操作。
本发明实施例中,经基于跨域技术的单点登录认证系统,能够实现跨域登录认证,故可以同时具有提高用户效益、提高研发效率、减低管理员工作量等有益效果。
具体地,对于提高用户效益来说,显著减少了用户为访问多个应用系统而进行身份认证的时间和烦恼,从而提高了工作效率。用户也不需要记忆大量的用户名和密码,同时也减低系统管理员重复的工作量。
具体地,对于提高研发效率来说,单点登录为研发人员提供了统一的认证框架,单点登录是完全独立的服务,研发人员不需要担心用户登录认证问题,一旦系统接入单点登录服务,使用用户名向应用程序发起登录请求,研发人员就可以认为认证操作已发生。
具体地,对于减低管理员工作量来说,简化了系统管理员的工作,用户的账号信息统一在用户信息数据库中保存,系统管理员只需要在一个数据库里对用户账号信息进行维护操作即可,很大程度上提高了日常管理效率。
如图4所示,本发明一个实施例提供了一种基于跨域技术的单点登录认证方法,可以包括以下步骤:
步骤401:用户端通过运行的浏览器,在接收到外部针对主系统的、携带有目标用户信息的登录请求时,将所述目标用户信息发送给所述主系统,根据所述目标用户信息登录所述主系统并记录所述目标用户信息。
步骤402:所述主系统根据所述目标用户信息、所述用户端的IP地址、所述浏览器的类型,生成目标ticket信息,存储所述目标ticket信息并将其发送给总线系统。
步骤403:所述总线系统存储所述目标ticket信息。
步骤404:所述用户端通过运行的所述浏览器,在接收到外部针对所述主系统对应的任一子系统的登录请求时,触发该子系统。
步骤405:每一个所述子系统经所述用户端触发,将所述主系统存储的ticket信息发送给所述总线系统。
步骤406:所述总线系统针对每一个所述子系统均执行:接收当前子系统发来的ticket信息,判断是否存储有与接收到的ticket信息相一致的第一ticket信息,若是,将所述第一ticket信息中的用户信息返回至所述当前子系统,否则,结束当前流程。
步骤407:每一个所述子系统将所述总线系统返回的用户信息发送给所述用户端。
步骤408:所述用户端在接收到任一所述子系统发来的用户信息时,判断是否记录有该子系统发来的用户信息,若是,通过运行的所述浏览器,登录该子系统,否则,结束当前流程。
在本发明一个实施例中,所述主系统包括企业数据管理门户网站;
步骤402中,所述主系统根据所述目标用户信息、所述用户端的IP地址、所述浏览器的类型,生成目标ticket信息包括:所述企业数据管理门户网站根据预设的加密方式加密所述目标用户信息、所述用户端的IP地址、所述浏览器的类型,以生成所述目标ticket信息;
步骤402中,所述主系统将所述目标ticket信息发送给总线系统,包括:数据管理系统使用令牌传参方式从所述企业数据管理门户网站中获取所述目标ticket信息,并获取到的所述目标ticket信息、经所述企业数据管理门户网站的LDAP接口而返回的所述目标ticket信息中的用户信息,传输给所述总线系统;
步骤405中,所述每一个所述子系统经所述用户端触发,将所述主系统存储的ticket信息发送给所述总线系统,包括:每一个所述子系统经所述用户端触发,通过重定向技术获得企业数据管理门户网站存储的ticket信息,并将获得的ticket信息发送给所述总线系统以请求登录验证。
在本发明一个实施例中,该方法可以进一步包括:证书导入单元使用jdk自带的keytool生成CAS证书,导出所述CAS证书,将导出的CAS证书导入到所述数据管理系统的客户端;所述总线系统下载CAS的服务端并解压,把解压后的文件中,modules文件夹中的cas-server-webapp-3.4.8.war文件拷贝到%TOMCAT_HOME%\webapps下,并修改文件名为cas.war;修改%TOMCAT_HOME%\conf\server.xml文件;访问http://yourhost:8443/cas,输入用户名和密码进行登录,以完成CAS服务端配置;每一个所述子系统配置过滤器,以通过浏览器重定向来获得ticket信息。
详细地,这一过程可以在上述步骤401之前即执行好,以支持上述步骤401至步骤408的正常执行。
在本发明一个实施例中,该方法可以进一步包括:所述用户端在监测到外部针对所述主系统的退出登录操作,或,针对所述浏览器的关闭操作时,清除所述目标用户信息,控制处于登录状态的每一个所述子系统退出登录,并经所述主系统触发所述总线系统清除所述目标ticket信息。
详细地,这一过程可以在上述步骤408之后执行。
在本发明一个实施例中,该方法可以进一步包括:所述用户端通过运行的所述浏览器,基于所述目标用户信息以访问所述主系统的JSP;基于所述浏览器存储所述JSP返回的cookie;生成所述JSP的session所对应的jssessionid,并在URL中记录所述jssessionid;在监测到外部针对所述主系统的退出登录操作,或,针对所述浏览器的关闭操作时,删除所述cookie和所述jssessionid。
上述方法内的各单元、模块、系统之间的信息交互、执行过程等内容,由于与本发明系统实施例基于同一构思,具体内容可参见本发明系统实施例中的叙述,此处不再赘述。
综上所述,本发明的各个实施例至少具有如下有益效果:
1、本发明实施例中,基于跨域技术的单点登录认证系统包括用户端、主系统、总线系统、主系统对应的至少一个子系统。用户端通过浏览器接收外部针对主系统的登录请求,记录其携带的目标用户信息并据此登录主系统;通过浏览器在接收到外部针对一子系统的登录请求时,触发该子系统以使其将主系统存储的ticket信息发送给总线系统;记录有一子系统发来的用户信息时,通过浏览器登录该子系统。主系统根据目标用户信息、用户端的IP地址、浏览器的类型,生成目标ticket信息并存储。总线系统存储目标ticket信息,当存储有一子系统发来的ticket信息时,将其中的用户信息返回。因此,本发明实施例能够实现跨域登录认证。
2、本发明实施例中,可以通过服务端的Session、客户端的Cookies、和js跨域重定向技术,实现子系统单点登录效果,解决传统系统间无法跨域免登陆访问操作。
3、本发明实施例中,经基于跨域技术的单点登录认证系统,能够实现跨域登录认证,故可以同时具有提高用户效益、提高研发效率、减低管理员工作量等有益效果。
需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个······”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同因素。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储在计算机可读取的存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质中。
最后需要说明的是:以上所述仅为本发明的较佳实施例,仅用于说明本发明的技术方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (8)

1.一种基于跨域技术的单点登录认证系统,其特征在于,包括:
用户端、主系统、总线系统、所述主系统对应的至少一个子系统;
其中,所述用户端,用于通过运行的浏览器,在接收到外部针对所述主系统的、携带有目标用户信息的登录请求时,将所述目标用户信息发送给所述主系统,根据所述目标用户信息登录所述主系统并记录所述目标用户信息;通过运行的所述浏览器,在接收到外部针对任一所述子系统的登录请求时,触发该子系统;在接收到任一所述子系统发来的用户信息时,判断是否记录有该子系统发来的用户信息,若是,通过运行的所述浏览器,登录该子系统;
所述主系统,用于根据所述目标用户信息、所述用户端的IP地址、所述浏览器的类型,生成目标ticket信息;存储所述目标ticket信息并将其发送给所述总线系统;
所述总线系统,用于存储所述目标ticket信息;针对每一个所述子系统均执行:接收当前子系统发来的ticket信息,判断是否存储有与接收到的ticket信息相一致的第一ticket信息,若是,将所述第一ticket信息中的用户信息返回至所述当前子系统;
每一个所述子系统,均用于经所述用户端触发,将所述主系统存储的ticket信息发送给所述总线系统;将所述总线系统返回的用户信息发送给所述用户端;
所述主系统包括企业数据管理门户网站时,所述单点登录认证系统还包括:数据管理系统;
所述企业数据管理门户网站,具体用于根据预设的加密方式加密所述目标用户信息、所述用户端的IP地址、所述浏览器的类型,以生成所述目标ticket信息;
所述数据管理系统,用于使用令牌传参方式从所述企业数据管理门户网站中获取所述目标ticket信息,并获取到的所述目标ticket信息、经所述企业数据管理门户网站的轻量目录访问协议LDAP接口而返回的所述目标ticket信息中的用户信息,传输给所述总线系统;
每一个所述子系统,均具体用于经所述用户端触发,通过重定向技术获得企业数据管理门户网站存储的ticket信息,并将获得的ticket信息发送给所述总线系统以请求登录验证。
2.根据权利要求1所述的基于跨域技术的单点登录认证系统,其特征在于,
还包括:证书导入单元;
其中,所述证书导入单元,用于使用jdk自带的keytool生成中央认证服务器CAS证书;导出所述CAS证书;将导出的CAS证书导入到所述数据管理系统的客户端;
所述总线系统,还用于下载CAS的服务端并解压,把解压后的文件中,modules文件夹中的cas-server-webapp-3.4.8.war文件拷贝到%TOMCAT_HOME%\webapps下,并修改文件名为cas.war;修改%TOMCAT_HOME%\conf\server.xml文件;访问http://yourhost:8443/cas,输入用户名和密码进行登录,以完成CAS服务端配置;
每一个所述子系统,均用于配置过滤器,以通过浏览器重定向来获得ticket信息。
3.根据权利要求1至2中任一所述的基于跨域技术的单点登录认证系统,其特征在于,
所述用户端,还用于在监测到外部针对所述主系统的退出登录操作,或,针对所述浏览器的关闭操作时,清除所述目标用户信息,控制处于登录状态的每一个所述子系统退出登录,并经所述主系统触发所述总线系统清除所述目标ticket信息。
4.根据权利要求3所述的基于跨域技术的单点登录认证系统,其特征在于,
所述用户端,还用于通过运行的所述浏览器,基于所述目标用户信息以访问所述主系统的JAVA服务器页面JSP;基于所述浏览器存储所述JSP返回的cookie;生成所述JSP的session所对应的jssessionid,并在统一资源定位符URL中记录所述jssessionid;在监测到外部针对所述主系统的退出登录操作,或,针对所述浏览器的关闭操作时,删除所述cookie和所述jssessionid。
5.一种基于跨域技术的单点登录认证方法,其特征在于,包括:
用户端通过运行的浏览器,在接收到外部针对主系统的、携带有目标用户信息的登录请求时,将所述目标用户信息发送给所述主系统,根据所述目标用户信息登录所述主系统并记录所述目标用户信息;
所述主系统根据所述目标用户信息、所述用户端的IP地址、所述浏览器的类型,生成目标ticket信息,存储所述目标ticket信息并将其发送给总线系统;
所述总线系统存储所述目标ticket信息;
所述用户端通过运行的所述浏览器,在接收到外部针对所述主系统对应的任一子系统的登录请求时,触发该子系统;
每一个所述子系统经所述用户端触发,将所述主系统存储的ticket信息发送给所述总线系统;
所述总线系统针对每一个所述子系统均执行:接收当前子系统发来的ticket信息,判断是否存储有与接收到的ticket信息相一致的第一ticket信息,若是,将所述第一ticket信息中的用户信息返回至所述当前子系统;
每一个所述子系统将所述总线系统返回的用户信息发送给所述用户端;
所述用户端在接收到任一所述子系统发来的用户信息时,判断是否记录有该子系统发来的用户信息,若是,通过运行的所述浏览器,登录该子系统;
所述主系统包括企业数据管理门户网站;
所述主系统根据所述目标用户信息、所述用户端的IP地址、所述浏览器的类型,生成目标ticket信息包括:所述企业数据管理门户网站根据预设的加密方式加密所述目标用户信息、所述用户端的IP地址、所述浏览器的类型,以生成所述目标ticket信息;
所述主系统将所述目标ticket信息发送给总线系统,包括:数据管理系统使用令牌传参方式从所述企业数据管理门户网站中获取所述目标ticket信息,并获取到的所述目标ticket信息、经所述企业数据管理门户网站的轻量目录访问协议LDAP接口而返回的所述目标ticket信息中的用户信息,传输给所述总线系统;
所述每一个所述子系统经所述用户端触发,将所述主系统存储的ticket信息发送给所述总线系统,包括:每一个所述子系统经所述用户端触发,通过重定向技术获得企业数据管理门户网站存储的ticket信息,并将获得的ticket信息发送给所述总线系统以请求登录验证。
6.根据权利要求5所述的基于跨域技术的单点登录认证方法,其特征在于,
进一步包括:证书导入单元使用jdk自带的keytool生成中央认证服务器CAS证书,导出所述CAS证书,将导出的CAS证书导入到所述数据管理系统的客户端;
所述总线系统下载CAS的服务端并解压,把解压后的文件中,modules文件夹中的cas-server-webapp-3.4.8.war文件拷贝到%TOMCAT_HOME%\webapps下,并修改文件名为cas.war;修改%TOMCAT_HOME%\conf\server.xml文件;访问http://yourhost:8443/cas,输入用户名和密码进行登录,以完成CAS服务端配置;
每一个所述子系统配置过滤器,以通过浏览器重定向来获得ticket信息。
7.根据权利要求5至6中任一所述的基于跨域技术的单点登录认证方法,其特征在于,
进一步包括:所述用户端在监测到外部针对所述主系统的退出登录操作,或,针对所述浏览器的关闭操作时,清除所述目标用户信息,控制处于登录状态的每一个所述子系统退出登录,并经所述主系统触发所述总线系统清除所述目标ticket信息。
8.根据权利要求7所述的基于跨域技术的单点登录认证方法,其特征在于,
进一步包括:所述用户端通过运行的所述浏览器,基于所述目标用户信息以访问所述主系统的JAVA服务器页面JSP;基于所述浏览器存储所述JSP返回的cookie;生成所述JSP的session所对应的jssessionid,并在统一资源定位符URL中记录所述jssessionid;在监测到外部针对所述主系统的退出登录操作,或,针对所述浏览器的关闭操作时,删除所述cookie和所述jssessionid。
CN201811024085.1A 2018-09-04 2018-09-04 一种基于跨域技术的单点登录认证系统及方法 Active CN109165500B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811024085.1A CN109165500B (zh) 2018-09-04 2018-09-04 一种基于跨域技术的单点登录认证系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811024085.1A CN109165500B (zh) 2018-09-04 2018-09-04 一种基于跨域技术的单点登录认证系统及方法

Publications (2)

Publication Number Publication Date
CN109165500A CN109165500A (zh) 2019-01-08
CN109165500B true CN109165500B (zh) 2020-10-23

Family

ID=64893990

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811024085.1A Active CN109165500B (zh) 2018-09-04 2018-09-04 一种基于跨域技术的单点登录认证系统及方法

Country Status (1)

Country Link
CN (1) CN109165500B (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110276615A (zh) * 2019-06-21 2019-09-24 成都高新信息技术研究院 一种区块链数字资产移动接入方法与系统
CN110401643A (zh) * 2019-07-12 2019-11-01 杭州数跑科技有限公司 登出行为的同步方法、装置、电子设备及存储介质
CN110365680B (zh) * 2019-07-16 2022-04-15 中国联合网络通信集团有限公司 基于单点登录的批量登出方法及装置
CN110602123A (zh) * 2019-09-21 2019-12-20 苏州浪潮智能科技有限公司 一种基于微服务的单点证书认证系统及方法
CN112825516A (zh) * 2019-11-21 2021-05-21 广州凡科互联网科技股份有限公司 一种基于ticket的多系统统一登录方法
CN111210194A (zh) * 2019-12-26 2020-05-29 大象慧云信息技术有限公司 一种基于企业税务体系专用的业务支撑系统及方法
CN112199659B (zh) * 2020-12-03 2021-03-23 湖北亿咖通科技有限公司 用于车辆的多业务平台的访问方法、系统和电子装置
CN112688937A (zh) * 2020-12-22 2021-04-20 武汉烽火众智数字技术有限责任公司 一种跨应用的异构应用下系统单点登录的登录方法
CN112788019B (zh) * 2020-12-30 2023-04-07 杭州天谷信息科技有限公司 一种零信任理念下的应用融合方案
WO2023015412A1 (zh) * 2021-08-09 2023-02-16 中国科学院深圳先进技术研究院 一种跨域访问控制方法、系统、存储介质及设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105592035A (zh) * 2015-04-03 2016-05-18 中国银联股份有限公司 一种用于多个应用系统的单点登录方法
CN107872455A (zh) * 2017-11-09 2018-04-03 武汉虹旭信息技术有限责任公司 一种跨域单点登录系统及其方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9961069B2 (en) * 2015-07-22 2018-05-01 Ca, Inc. Ticket generator for alternate authentication environments

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105592035A (zh) * 2015-04-03 2016-05-18 中国银联股份有限公司 一种用于多个应用系统的单点登录方法
CN107872455A (zh) * 2017-11-09 2018-04-03 武汉虹旭信息技术有限责任公司 一种跨域单点登录系统及其方法

Also Published As

Publication number Publication date
CN109165500A (zh) 2019-01-08

Similar Documents

Publication Publication Date Title
CN109165500B (zh) 一种基于跨域技术的单点登录认证系统及方法
CN108901022B (zh) 一种微服务统一鉴权方法及网关
US10630489B2 (en) Apparatus and method for managing digital certificates
RU2447490C2 (ru) Защищенная обработка мандата клиентской системы для доступа к ресурсам на основе web
CN105007280B (zh) 一种应用登录方法和装置
US8627409B2 (en) Framework for automated dissemination of security metadata for distributed trust establishment
CN101331731B (zh) 由身份提供商对联盟内的客户进行定制认证的方法、装置和程序产品
CN101009561B (zh) 用于imx会话控制和认证的系统和方法
JP4864289B2 (ja) ネットワークユーザ認証システムおよび方法
US11477188B2 (en) Injection of tokens or client certificates for managed application communication
US8990911B2 (en) System and method for single sign-on to resources across a network
CN109951480B (zh) 用于数据存储的系统、方法和非暂态计算机可读存储介质
WO2017028804A1 (zh) 一种Web实时通信平台鉴权接入方法及装置
CN108028845A (zh) 使用导出凭证注册企业移动装置管理服务
CN108011862A (zh) 镜像仓库授权、访问、管理方法及服务器和客户端
CN109155781A (zh) 对托管应用程序的动态访问
CN109873805A (zh) 基于云安全的云桌面登陆方法、装置、设备和存储介质
CN111786969A (zh) 单点登录方法、装置及系统
CN102143131B (zh) 用户注销方法及认证服务器
CN109379363A (zh) 一种基于集约化治理平台的单点登录集成方法及系统
CN111600900B (zh) 基于区块链的单点登录方法、服务端及系统
Basney et al. Federated login to TeraGrid
Seneviratne Enabling an Authentication Mechanism for Docker Remote API
CN114598549B (zh) 客户ssl证书验证方法及装置
CN111343189A (zh) 一种实现多个既有web系统统一登录的方法

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
CB03 Change of inventor or designer information
CB03 Change of inventor or designer information

Inventor after: Cui Lele

Inventor after: Song She

Inventor after: Lin Junhong

Inventor before: Lin Junhong

Inventor before: Cui Lele

Inventor before: Song She

CB02 Change of applicant information
CB02 Change of applicant information

Address after: 250100 No. 1036 Tidal Road, Jinan High-tech Zone, Shandong Province, S01 Building, Tidal Science Park

Applicant after: Inspur cloud Information Technology Co.,Ltd.

Address before: 250100 Ji'nan science and technology zone, Shandong high tide Road, No. 1036 wave of science and Technology Park, building S06

Applicant before: Tidal Cloud Information Technology Co.,Ltd.

Address after: 250100 Ji'nan science and technology zone, Shandong high tide Road, No. 1036 wave of science and Technology Park, building S06

Applicant after: SHANDONG INSPUR CLOUD INFORMATION TECHNOLOGY Co.,Ltd.

Address before: 250100 Ji'nan science and technology zone, Shandong high tide Road, No. 1036 wave of science and Technology Park, building S06

Applicant before: SHANDONG LANGCHAO YUNTOU INFORMATION TECHNOLOGY Co.,Ltd.

Address after: 250100 Ji'nan science and technology zone, Shandong high tide Road, No. 1036 wave of science and Technology Park, building S06

Applicant after: Tidal Cloud Information Technology Co.,Ltd.

Address before: 250100 Ji'nan science and technology zone, Shandong high tide Road, No. 1036 wave of science and Technology Park, building S06

Applicant before: SHANDONG INSPUR CLOUD INFORMATION TECHNOLOGY Co.,Ltd.

GR01 Patent grant
GR01 Patent grant