CN106790063A - 一种异构web***单点登录的方法 - Google Patents
一种异构web***单点登录的方法 Download PDFInfo
- 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
Links
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/01—Protocols
- H04L67/02—Protocols 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***,例如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技术实现。
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)
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)
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 | 华为技术有限公司 | 异构应用单点登录***及其单点登录方法 |
-
2016
- 2016-12-20 CN CN201611186989.5A patent/CN106790063B/zh active Active
Patent Citations (2)
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)
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 |