CN106790063A - 一种异构web***单点登录的方法 - Google Patents

一种异构web***单点登录的方法 Download PDF

Info

Publication number
CN106790063A
CN106790063A CN201611186989.5A CN201611186989A CN106790063A CN 106790063 A CN106790063 A CN 106790063A CN 201611186989 A CN201611186989 A CN 201611186989A CN 106790063 A CN106790063 A CN 106790063A
Authority
CN
China
Prior art keywords
sign
client
tgt
services end
certification
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201611186989.5A
Other languages
English (en)
Other versions
CN106790063B (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.)
XINGTANG COMMUNICATIONS CO Ltd
Original Assignee
XINGTANG COMMUNICATIONS 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 XINGTANG COMMUNICATIONS CO Ltd filed Critical XINGTANG COMMUNICATIONS CO Ltd
Priority to CN201611186989.5A priority Critical patent/CN106790063B/zh
Publication of CN106790063A publication Critical patent/CN106790063A/zh
Application granted granted Critical
Publication of CN106790063B publication Critical patent/CN106790063B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]

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

本发明涉及一种异构WEB***单点登录的方法,包括以下步骤:步骤S1:单点登录客户端从用户请求URL中读取ST信息,若读取成功,执行步骤S5;若读取失败,执行步骤S2;步骤S2:单点登录客户端从浏览器Cookie中读取TGT信息,若存在,执行步骤S4;若不存在,执行步骤S3;步骤S3:单点登录服务端验证用户身份认证信息并生成TGT;步骤S4:单点登录服务端认证TGT并生成ST;步骤S5:单点登录服务端认证ST并加载页面内容。本发明提出的基于Javascript技术的单点登录客户端实现方法,可以简单的实现页面级别的登录控制;CAS客户端可以方便的集成各种技术架构下的WEB***,同时可以通过引入脚本的方式轻松实现页面级别的访问控制。

Description

一种异构WEB***单点登录的方法
技术领域
本发明涉及互联网技术领域,尤其涉及一种异构WEB***单点登录的方法。
背景技术
随着计算机技术的发展,各企业对计算机和信息化***的依赖程度越来越高。各企业在信息化进程的不同阶段,开发了多个办公信息化WEB***,例如OA***、财务***、工作流***等。然而,由于历史原因,各***独立管理用户的账号和密码信息,这大大增加了企业对用户信息的管理压力,同时也给***安全带来了隐患。因此,单点登录***应运而生。
基于CAS(Central Authentication Service)技术的单点登录***是目前流行的开源单点登录解决方案,然而,现有的基于CAS技术的单点登录***依然存在一些不足。在大部分企业中,各业务***可能是在不同的时间阶段开发的,例如早期的***可能是使用ASP技术实现的,新的***可能是由Java EE、ASP.NET或者PHP技术实现的。因此,要将这些异构***集成在一个单独登录***中,必须为每一种技术架构开发其独有的CAS客户端。虽然活跃的CAS社区在大部分主流技术架构下实现了CAS客户端,但部分CAS客户端稳定性较差,将导致多个业务***的登录状态不一致,这在耦合度紧密的业务***集成方案中影响更为严重。而对于使用ASP等已过时的技术实现的业务***,需要自己实现CAS客户端。同时,CAS客户端***与业务***的集成是通过过滤器技术实现的,如果***需要做较细粒度的控制(例如***首页不需要登录,某些重要业务页面必须登录),需要在配置文件中增加多条记录,降低其易读性。
目前,异构WEB***的单点登录集成大都是通过单独实现单点登录客户端实现。这大大增加了单点登录的实现难度,同时也会降低***的稳定性。
发明内容
鉴于上述的分析,本发明旨在提供一种异构WEB***单点登录的方法,用以解决现有异构WEB***单点登录难度高、***稳定性差的问题。
本发明的目的主要是通过以下技术方案实现的:
一种异构WEB***单点登录的方法,包括以下步骤:
步骤S1:单点登录客户端从用户请求URL中读取ST信息,若读取成功,执行步骤S5;若读取失败,执行步骤S2;
所述ST,Service Ticket,为服务票据,是单点登录服务端依据TGT为用户请求的应用服务生成的用户身份凭证;
所述TGT,Ticket Granting Ticket,为用户身份票据,是用户身份认证成功的重要证据,实现单点登录的主要依据;
步骤S2:单点登录客户端从浏览器Cookie中读取TGT信息,若存在,执行步骤S4;若不存在,执行步骤S3;
步骤S3:单点登录服务端验证用户身份认证信息并生成TGT;
步骤S4:单点登录服务端认证TGT并生成ST;
步骤S5:单点登录服务端认证ST并加载页面内容。
所述步骤S3还包括以下子步骤:
步骤S301:单点登录服务端接收用户输入的身份认证信息;
步骤S302:单点登录服务端认证用户身份认证信息,若认证成功,则执行步骤S303;若认证失败,则返回步骤S301;
步骤S303:单点登录服务端依据用户身份认证信息生成TGT,并发送给单点登录客户端。
所述步骤S301中,用户通过单点登录客户端向单点登录服务端发送用户身份认证请求,单点登录服务端接收用户的身份认证请求,重定向到单点登录服务端的身份认证控制页面,引导用户输入用户名、密码、验证码等身份认证信息并接收所述身份认证信息。
单点登录客户端接收单点登录服务端发送的TGT,将TGT存入Cookie。
所述步骤S4还包括以下子步骤:
步骤S401:单点登录客户端向单点登录服务端发送认证TGT请求;
步骤S402:单点登录服务端接收单点登录客户端发送的认证TGT请求,并提取认证TGT请求中携带的TGT,对TGT进行认证,若认证成功,将认证成功后的TGT打包成json数据发送给单点登录客户端,执行步骤S403;若认证失败,发送认证失败信息至单点登录客户端,并返回步骤S3;
步骤S403:单点登录服务端生成ST并发送给单点登录客户端。
为保证安全性,ST在每一次用户请求应用服务时都重新生成,且一次认证后即过期。
单点登录客户端接收单点登录服务端发送的ST,将ST存入Javascript的ST变量中。
单点登录服务端使用CAS进行TGT和ST的生成和认证。
所述步骤S5还包括以下子步骤:
步骤S501:单点登录客户端向单点登录服务端发送认证ST请求;
步骤S502:单点登录服务端接收单点登录客户端发送的认证ST请求,并提取认证ST请求中携带的ST,对ST进行认证,若认证成功,将认证成功后的ST打包成json数据发送至单点登录客户端,执行步骤S503;若认证失败,发送认证失败信息至单点登录客户端,返回步骤S3;
步骤S503:加载页面内容。
单点登录客户端与单点登录服务端的交互方式基于json技术实现。
本发明有益效果如下:
本发明提出的与后台技术架构无关的WEB***单点登录集成方法,对单点登录***集成技术架构复杂的遗留WEB***具有参考价值;基于Javascript技术的单点登录客户端实现方法,可以简单的实现页面级别的登录控制;CAS客户端可以方便的集成各种技术架构下的WEB***,同时可以通过引入脚本的方式轻松实现页面级别的访问控制。
本发明的其他特征和优点将在随后的说明书中阐述,并且,部分的从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
附图仅用于示出具体实施例的目的,而并不认为是对本发明的限制,在整个附图中,相同的参考符号表示相同的部件。
图1为客户端工作流程示意图;
图2为登录过程流程示意图;
图3为认证TGT流程示意图;
图4为认证ST流程示意图;
图5为客户端服务端交互示意图。
具体实施方式
下面结合附图来具体描述本发明的优选实施例,其中,附图构成本申请一部分,并与本发明的实施例一起用于阐释本发明的原理。
本发明实施例提供了一种异构WEB***单点登录的方法,包括以下步骤:
步骤S1:单点登录客户端从用户请求URL中读取ST信息,若读取成功,执行步骤S5;若读取失败,执行步骤S2。
具体地,所述单点登录客户端基于浏览器,运行于用户要访问的网页中。
步骤S2:单点登录客户端从浏览器Cookie中读取TGT信息,若存在,执行步骤S4;若不存在,执行步骤S3。
所述步骤S1、步骤S2客户端工作流程图见图1。
步骤S3:如图2所示,单点登录服务端验证用户身份认证信息并生成TGT。
具体地,所述步骤S3还包括以下子步骤:
步骤S301:单点登录服务端接收用户输入的身份认证信息。
具体地,用户通过单点登录客户端向单点登录服务端发送用户身份认证请求,单点登录服务端接收用户的身份认证请求,重定向到单点登录服务端的身份认证控制页面,引导用户输入用户名、密码、验证码等身份认证信息并接收所述身份认证信息;
具体地,所述身份认证控制页面为登录页面,所述身份认证信息为登录信息;
优选地,在页面中引入单点登录客户端Javascript脚本文件,将身份认证控制页面集成进单点登录***中;
优选地,所述单点登录客户端通过Javascript脚本语言实现,适用于所有WEB***。
步骤S302:单点登录服务端认证用户身份认证信息,若认证成功,则执行步骤S303;若认证失败,则返回步骤S301。
优选地,认证失败后,返回步骤S301之前,单点登录服务端重定向到身份认证控制页面,并显示认证失败信息,或进行自定义的操作;
优选地,所述自定义的操作可用于限制用户输入错误用户名、密码的次数等。
优选地,单点登录客户端与单点登录服务端的交互方式基于json(JavaScriptObject Notation)技术实现,客户端服务端交互示意图见图5。
步骤S303:单点登录服务端依据用户身份认证信息生成TGT,并发送给单点登录客户端。
进一步地,单点登录客户端接收单点登录服务端发送的TGT,将TGT存入Cookie;
具体地,所述TGT(Ticket Granting Ticket)为用户身份票据,是用户身份认证成功的重要证据,实现单点登录的主要依据。
步骤S4:如图3所示,单点登录服务端认证TGT并生成ST。
具体地,所述步骤S4还包括以下子步骤:
步骤S401:单点登录客户端向单点登录服务端发送认证TGT请求。
具体地,单点登录客户端根据Cookie中的TGT,向单点登录服务端发送认证TGT请求;
步骤S402:单点登录服务端接收单点登录客户端发送的认证TGT请求,并提取认证TGT请求中携带的TGT,对TGT进行认证,若认证成功,将认证成功后的TGT打包成json数据发送给单点登录客户端,执行步骤S403;若认证失败,发送认证失败信息至单点登录客户端,并返回步骤S3;
优选地,TGT认证失败后,返回步骤S3之前,单点登录服务端重定向到身份认证控制页面,并显示认证失败信息。
步骤S403:单点登录服务端生成ST并发送给单点登录客户端。
进一步地,单点登录客户端接收单点登录服务端发送的ST,将ST存入Javascript的ST变量中;
具体地,所述ST(Service Ticket)为服务票据,是单点登录服务端依据TGT为用户请求的应用服务生成的用户身份凭证;
优选地,为保证安全性,ST在每一次用户请求应用服务时都重新生成,且一次认证后即过期。
步骤S5:如图4所示,单点登录服务端认证ST并加载页面内容。
具体地,所述步骤S5还包括以下子步骤:
步骤S501:单点登录客户端向单点登录服务端发送认证ST请求。
具体地,单点登录客户端根据Javascript的ST变量中的ST,向单点登录服务端发送认证ST请求。
步骤S502:单点登录服务端接收单点登录客户端发送的认证ST请求,并提取认证ST请求中携带的ST,对ST进行认证,若认证成功,将认证成功后的ST打包成json数据发送至单点登录客户端,执行步骤S503;若认证失败,发送认证失败信息至单点登录客户端,返回步骤S3;
优选地,ST认证失败后,返回步骤S3之前,单点登录服务端重定向到身份认证控制页面,并显示认证失败信息。
优选地,单点登录服务端使用CAS(Central Authentication Service)进行TGT和ST的生成和认证。
步骤S503:加载页面内容。
具体地,加载的页面为步骤S1中用户请求URL对应的页面。
综上所述,本发明实施例提供了一种异构WEB***单点登录的方法,将TGT、ST票据信息的生成和验证拆分在不同的流程中,为C/S(客户端/服务器)架构集成进基于CAS技术的单点登录***提供了参考。
1、提出了一种基于CAS技术的异构WEB***的单点登录集成方法。应用服务***无需根据自身的技术架构单独实现单点登录客户端,各应用服务***可以通过简单的引入Javascript脚本文件集成到单点登录***中。
2、提出了一种基于Javascript技术的单点登录客户端实现方法。通过前端技术获取认证票据和认证结果,可以在认证成功或失败后自定义与页面相关的动作,增加了访问控制的灵活性。同时,Javascript作为一种前端技术,可以运用于任何WEB***。
本领域技术人员可以理解,实现上述实施例方法的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于计算机可读存储介质中。其中,所述计算机可读存储介质为磁盘、光盘、只读存储记忆体或随机存储记忆体等。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。

Claims (10)

1.一种异构WEB***单点登录的方法,其特征在于,包括以下步骤:
步骤S1:单点登录客户端从用户请求URL中读取ST信息,若读取成功,执行步骤S5;若读取失败,执行步骤S2;
所述ST,Service Ticket,为服务票据,是单点登录服务端依据TGT为用户请求的应用服务生成的用户身份凭证;
所述TGT,Ticket Granting Ticket,为用户身份票据,是用户身份认证成功的重要证据,实现单点登录的主要依据;
步骤S2:单点登录客户端从浏览器Cookie中读取TGT信息,若存在,执行步骤S4;若不存在,执行步骤S3;
步骤S3:单点登录服务端验证用户身份认证信息并生成TGT;
步骤S4:单点登录服务端认证TGT并生成ST;
步骤S5:单点登录服务端认证ST并加载页面内容。
2.根据权利要求1所述的方法,其特征在于,所述步骤S3还包括以下子步骤:
步骤S301:单点登录服务端接收用户输入的身份认证信息;
步骤S302:单点登录服务端认证用户身份认证信息,若认证成功,则执行步骤S303;若认证失败,则返回步骤S301;
步骤S303:单点登录服务端依据用户身份认证信息生成TGT,并发送给单点登录客户端。
3.根据权利要求2所述的方法,其特征在于,所述步骤S301中,用户通过单点登录客户端向单点登录服务端发送用户身份认证请求,单点登录服务端接收用户的身份认证请求,重定向到单点登录服务端的身份认证控制页面,引导用户输入用户名、密码、验证码等身份认证信息并接收所述身份认证信息。
4.根据权利要求2所述的方法,其特征在于,单点登录客户端接收单点登录服务端发送的TGT,将TGT存入Cookie。
5.根据权利要求1所述的方法,其特征在于,所述步骤S4还包括以下子步骤:
步骤S401:单点登录客户端向单点登录服务端发送认证TGT请求;
步骤S402:单点登录服务端接收单点登录客户端发送的认证TGT请求,并提取认证TGT请求中携带的TGT,对TGT进行认证,若认证成功,将认证成功后的TGT打包成json数据发送给单点登录客户端,执行步骤S403;若认证失败,发送认证失败信息至单点登录客户端,并返回步骤S3;
步骤S403:单点登录服务端生成ST并发送给单点登录客户端。
6.根据权利要求5所述的方法,其特征在于,为保证安全性,ST在每一次用户请求应用服务时都重新生成,且一次认证后即过期。
7.根据权利要求5或6所述的方法,其特征在于,单点登录客户端接收单点登录服务端发送的ST,将ST存入Javascript的ST变量中。
8.根据权利要求1所述的方法,其特征在于,单点登录服务端使用CAS进行TGT和ST的生成和认证。
9.根据权利要求1所述的方法,其特征在于,所述步骤S5还包括以下子步骤:
步骤S501:单点登录客户端向单点登录服务端发送认证ST请求;
步骤S502:单点登录服务端接收单点登录客户端发送的认证ST请求,并提取认证ST请求中携带的ST,对ST进行认证,若认证成功,将认证成功后的ST打包成json数据发送至单点登录客户端,执行步骤S503;若认证失败,发送认证失败信息至单点登录客户端,返回步骤S3;
步骤S503:加载页面内容。
10.根据权利要求1所述的方法,其特征在于,单点登录客户端与单点登录服务端的交互方式基于json技术实现。
CN201611186989.5A 2016-12-20 2016-12-20 一种异构web***单点登录的方法 Active CN106790063B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611186989.5A CN106790063B (zh) 2016-12-20 2016-12-20 一种异构web***单点登录的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611186989.5A CN106790063B (zh) 2016-12-20 2016-12-20 一种异构web***单点登录的方法

Publications (2)

Publication Number Publication Date
CN106790063A true CN106790063A (zh) 2017-05-31
CN106790063B CN106790063B (zh) 2020-07-17

Family

ID=58896334

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611186989.5A Active CN106790063B (zh) 2016-12-20 2016-12-20 一种异构web***单点登录的方法

Country Status (1)

Country Link
CN (1) CN106790063B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107707570A (zh) * 2017-11-13 2018-02-16 山东省农村信用社联合社 跨域单点登录集成方法和***
CN108600203A (zh) * 2018-04-11 2018-09-28 四川长虹电器股份有限公司 基于Cookie的安全单点登录方法及其统一认证服务***
CN109472123A (zh) * 2018-11-05 2019-03-15 用友网络科技股份有限公司 一种云服务集成第三方单点登录用户中心的方法及***
CN109600342A (zh) * 2017-09-30 2019-04-09 广东亿迅科技有限公司 基于单点技术的统一认证方法及装置
CN110891060A (zh) * 2019-11-26 2020-03-17 昆明能讯科技有限责任公司 一种基于多业务***集成的统一认证***
CN112446015A (zh) * 2020-12-01 2021-03-05 山东健康医疗大数据有限公司 一种基于两级部署的用户登录认证方法
CN112929391A (zh) * 2021-03-15 2021-06-08 浪潮云信息技术股份公司 一种基于单点登录实现跨平台身份认证的方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102469075A (zh) * 2010-11-09 2012-05-23 中科正阳信息安全技术有限公司 一种基于web单点登录的集成认证方法
CN104052746A (zh) * 2014-06-18 2014-09-17 华为技术有限公司 异构应用单点登录***及其单点登录方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102469075A (zh) * 2010-11-09 2012-05-23 中科正阳信息安全技术有限公司 一种基于web单点登录的集成认证方法
CN104052746A (zh) * 2014-06-18 2014-09-17 华为技术有限公司 异构应用单点登录***及其单点登录方法

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109600342A (zh) * 2017-09-30 2019-04-09 广东亿迅科技有限公司 基于单点技术的统一认证方法及装置
CN109600342B (zh) * 2017-09-30 2021-12-24 广东亿迅科技有限公司 基于单点技术的统一认证方法及装置
CN107707570A (zh) * 2017-11-13 2018-02-16 山东省农村信用社联合社 跨域单点登录集成方法和***
CN108600203A (zh) * 2018-04-11 2018-09-28 四川长虹电器股份有限公司 基于Cookie的安全单点登录方法及其统一认证服务***
CN109472123A (zh) * 2018-11-05 2019-03-15 用友网络科技股份有限公司 一种云服务集成第三方单点登录用户中心的方法及***
CN110891060A (zh) * 2019-11-26 2020-03-17 昆明能讯科技有限责任公司 一种基于多业务***集成的统一认证***
CN112446015A (zh) * 2020-12-01 2021-03-05 山东健康医疗大数据有限公司 一种基于两级部署的用户登录认证方法
CN112929391A (zh) * 2021-03-15 2021-06-08 浪潮云信息技术股份公司 一种基于单点登录实现跨平台身份认证的方法

Also Published As

Publication number Publication date
CN106790063B (zh) 2020-07-17

Similar Documents

Publication Publication Date Title
CN106790063A (zh) 一种异构web***单点登录的方法
AU2019204495B2 (en) Distributed, decentralized data aggregation
AU2021201121B2 (en) Aggregation platform portal
CN101764819B (zh) 用于检测浏览器中间人攻击的方法和***
CN104065616B (zh) 单点登录方法和***
US9584615B2 (en) Redirecting access requests to an authorized server system for a cloud service
CN110177120A (zh) 一种单点登录的方法、装置及计算机可读存储介质
US20170295159A1 (en) Authenticating Clients Using Tokens
CN105072123B (zh) 一种集群环境下的单点登陆退出方法及***
EP2669837B1 (en) Cooperation system, cooperation method threreof, information processing system, and program thereof
CN105337735A (zh) 数字证书处理及校验的方法和装置
CN110069909A (zh) 一种免密登录第三方***的方法及装置
CN110489957A (zh) 访问请求的管理方法和计算机存储介质
CN107682321B (zh) 一种sdn控制器集群单点登录的方法及装置
US20220350896A1 (en) Risk assessment based data access
CN114615084B (zh) 一种应用于前后端分离场景的单点登录注销方法、***、电子设备和储存介质
US20220350877A1 (en) Multi-core account processing system support
AU2022211879A1 (en) Risk assessment based data access
EP4122156A1 (en) Multi-core account migration

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant