CN112825516A - 一种基于ticket的多系统统一登录方法 - Google Patents
一种基于ticket的多系统统一登录方法 Download PDFInfo
- Publication number
- CN112825516A CN112825516A CN201911145859.0A CN201911145859A CN112825516A CN 112825516 A CN112825516 A CN 112825516A CN 201911145859 A CN201911145859 A CN 201911145859A CN 112825516 A CN112825516 A CN 112825516A
- Authority
- CN
- China
- Prior art keywords
- login
- ticket
- request
- url
- client
- 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
Images
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/0807—Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
-
- 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
- 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/083—Network architectures or network communication protocols for network security for authentication of entities using passwords
-
- 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
本发明公开了一种基于ticket的多系统统一登录方法,包括以下步骤:客户端浏览器发起访问业务系统请求;业务系统进行判断,若客户端无登陆信息并且request请求内的cookie未携带ticiet,则获取登陆系统的URL,并在尾部追加拼接回调参数,并重定向至拼接后的登录系统URL;登陆系统拦截request请求并将回调参数URL记录至session中,并返回登陆页面至客户端;客户端提交登陆请求后登录系统校验成功后生成ticket或生成serviceTicket并通知客户端浏览器重定向至回调参数URL。本发明方便了各系统之间用户的登陆校验以及账号管理,而且业务功能、业务逻辑从代码实现来看各自独立运行,有效的对功能进行了解耦合。
Description
技术领域
本发明涉及WEB技术领域,尤其涉及一种基于ticket的多系统统一登录方法。
背景技术
用户登陆在企业系统中尤为重要,关系到用户在企业各系统内的日常运作。随着企业的不断发展壮大,企业内部的系统越来越多,同时各系统都有自己一套账号体系以及登陆安全校验,导致各系统账号信息不同步以及对登陆校验的程序重复开发,因此企业内部的账号管理及登陆显得格外重要,一个好的登陆系统可以方便企业内部系统的日常交互,并且无需重复开发系统登录功能,使业务解耦,节省开发者的时间,以及各系统无需维护各自系统的账号信息,由登陆系统统一管理,需要有可支撑多系统统一登录的单点登录系统,所以现提出了一种基于ticket的多系统统一登录方法。
发明内容
基于背景技术存在的技术问题,本发明提出了一种基于ticket的多系统统一登录方法。
本发明提出的一种基于ticket的多系统统一登录方法,包括以下步骤:
S1:客户端浏览器发起访问业务系统请求;
S2:业务系统进行判断,若客户端无登陆信息并且request请求内的cookie未携带ticiet,则获取登陆系统的URL,并在尾部追加拼接回调参数,并重定向至拼接后的登录系统URL;
S3:登陆系统拦截request请求并将回调参数URL记录至session中,并返回登陆页面至客户端;
S4:客户端提交登陆请求后登录系统校验成功后生成ticket或生成serviceTicket并通知客户端浏览器重定向至回调参数URL;
S6:业务系统拦截请求,获取存放在request内cookie的ticket或serviceTicket;
S7:业务系统通过HTTP请求访问登录系统消费ticket或serviceTicket;
S8:登陆系统验证ticket或serviceTicket并返回用户登陆信息;
S9:业务系统获取到response内的用户登陆信息,将用户登陆信息保存至session中完成用户登陆校验。
优选地,所述登陆系统服务器以及业务系统服务器均采用的Java Web服务器tomcat配置。
优选地,所述客户端浏览器采用网页重构技术JavaScript+AngularJS网页布局技术Div+设计布局格式Css的技术来展示与登录系统交互界面的内容。
优选地,所述登陆系统服务器以及业务系统服务器网络协议转发模块均采用java功能组件完成,所述的登陆系统服务器以及业务系统服务器均使用java编写独立运行网络进程,其中每个功能服务监听相应的端口,系统之间使用各自的服务器网络协议转发模块组件进行通信,完成业务功能。
优选地,所述数据库database采用数据库管理系统mysql搭建,登陆系统服务器对所述数据库database进行访问。
优选地,所述登陆系统与业务系统交互在后台使用java程序调用HTTP协议进行系统间的交互,所述系统间的交互传递数据格式均使用JSON数据格式。
优选地,所述S4中的客户端提交登陆请求,登录系统校验成功后生成ticket为客户端在登录页面提交账号密码,登陆系统对账号密码进行验证,通过则生成ticket与用户登录信息建立ticket与用户登陆信息的键值映射关系,ticket为键,用户登陆信息为值,保存在登录系统中,并将ticket添加至response内的cookie。
优选地,所述S4中的客户端提交登陆请求后登录系统校验成功后生成serviceTicket为获取先前保存在session中的回调参数,判断回调参数值URL是否与登录系统所处同个域名,不相同则是跨域登陆,生成一个值以“st-”开头的serviceTicket并与ticket建立serviceTicket与ticket的键值映射关系,serviceTicket为键,ticket为值,保存在登录系统中,并将serviceTicket追加拼接至回调参数尾部,重定向至回调参数URL地址。
本发明中的有益效果为:
1.极大的方便了各系统之间用户的登陆校验以及账号管理,而且业务功能、业务逻辑从代码实现来看各自独立运行,有效的对功能进行了解耦合,优化了整体的账号管理以及登陆校验,其中组件化和模块化是其底层代码设计的思想,使得其代码具有很好的可扩展性,便于维护。
2.基于ticket的多系统统一登录方法,使得企业各系统间的账号管理体系从各自系统管理脱离,使得用户登陆以及账户管理的功能解耦,节省了企业管理的成本,便于企业内部系统的日常交互,避免了企业管理者对多系统账号管理不同步的情况并且免去了开发者对各自系统的登陆功能的重复开发。
附图说明
图1为本发明提出的一种基于ticket的多系统统一登录方法的系统结构框图;
图2为本发明提出的一种基于ticket的多系统统一登录方法的原理示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。
实施例1,参照图1-2,一种基于ticket的多系统统一登录方法,包括以下步骤:
客户端浏览器发起访问业务系统请求;业务系统进行判断,若客户端无登陆信息并且request请求内的cookie未携带ticiet,则获取登陆系统的URL,并在尾部追加拼接回调参数,并重定向至拼接后的登录系统URL;
登陆系统拦截request请求并将回调参数URL记录至session中,并返回登陆页面至客户端;
客户端提交登陆请求后登录系统校验成功后生成ticket并通知客户端浏览器重定向至回调参数URL:客户端在登录页面提交账号密码,登陆系统对账号密码进行验证,通过则生成ticket与用户登录信息建立ticket与用户登陆信息的键值映射关系,ticket为键,用户登陆信息为值,保存在登录系统中,并将ticket添加至response内的cookie;
业务系统拦截请求,获取存放在request内cookie的ticket;业务系统通过HTTP请求访问登录系统消费ticket;
登陆系统验证ticket并返回用户登陆信息:登陆系统获取业务系统请求内的ticket,判断ticket值若不是以”st-”开头,则直接获取ticket与用户登陆信息键值映射关系的值,ticket与用户登陆信息键值映射关系的值为用户登陆信息,将用户登陆信息放入response返回发起消费ticket的业务系统登陆系统验证ticket并返回用户登陆信息;
S9:业务系统获取到response内的用户登陆信息,将用户登陆信息保存至session中完成用户登陆校验。
登陆系统服务器以及业务系统服务器均采用的Java Web服务器tomcat配置,客户端浏览器采用网页重构技术JavaScript+AngularJS网页布局技术Div+设计布局格式Css的技术来展示与登录系统交互界面的内容,登陆系统服务器以及业务系统服务器网络协议转发模块均采用java功能组件完成,的登陆系统服务器以及业务系统服务器均使用java编写独立运行网络进程,其中每个功能服务监听相应的端口,系统之间使用各自的服务器网络协议转发模块组件进行通信,完成业务功能,数据库database采用数据库管理系统mysql搭建,登陆系统服务器对数据库database进行访问,登陆系统与业务系统交互在后台使用java程序调用HTTP协议进行系统间的交互,系统间的交互传递数据格式均使用JSON数据格式。
实施例2,参照图1-2,一种基于ticket的多系统统一登录方法,包括以下步骤:
客户端浏览器发起访问业务系统请求;业务系统进行判断,若客户端无登陆信息并且request请求内的cookie未携带ticiet,则获取登陆系统的URL,并在尾部追加拼接回调参数,并重定向至拼接后的登录系统URL;
登陆系统拦截request请求并将回调参数URL记录至session中,并返回登陆页面至客户端;
客户端提交登陆请求后登录系统校验成功后生成ticket并通知客户端浏览器重定向至回调参数URL:获取先前保存在session中的回调参数,判断回调参数值URL是否与登录系统所处同个域名,不相同则为跨域登陆,生成一个值以“st-”开头的serviceTicket并与ticket建立serviceTicket与ticket的键值映射关系,serviceTicket为键,ticket为值,保存在登录系统中,并将serviceTicket追加拼接至回调参数尾部,重定向至回调参数URL地址;
业务系统拦截请求,获取存放在request内cookie的serviceTicket;业务系统通过HTTP请求访问登录系统消费serviceTicket;
登陆系统验证serviceTicket并返回用户登陆信息:登陆系统获取业务系统请求内的ticket,判断ticket值若是以”st-”开头则是serviceTicket,获取保存在登录系统中serviceTicket与ticket的键值映射关系,获取映射值ticket,再通过ticket获取ticket与用户登陆信息键值映射关系的值,ticket与用户登陆信息键值映射关系的值为用户登陆信息;
业务系统获取到response内的用户登陆信息,将用户登陆信息保存至session中完成用户登陆校验;
登陆系统服务器以及业务系统服务器均采用的Java Web服务器tomcat配置,客户端浏览器采用网页重构技术JavaScript+AngularJS网页布局技术Div+设计布局格式Css的技术来展示与登录系统交互界面的内容,登陆系统服务器以及业务系统服务器网络协议转发模块均采用java功能组件完成,登陆系统服务器以及业务系统服务器均使用java编写独立运行网络进程,其中每个功能服务监听相应的端口,系统之间使用各自的服务器网络协议转发模块组件进行通信,完成业务功能,数据库database采用数据库管理系统mysql搭建,登陆系统服务器对数据库database进行访问,登陆系统与业务系统交互在后台使用java程序调用HTTP协议进行系统间的交互,系统间的交互传递数据格式均使用JSON数据格式。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。
Claims (8)
1.一种基于ticket的多系统统一登录方法,其特征在于,包括以下步骤:
S1:客户端浏览器发起访问业务系统请求;
S2:业务系统进行判断,若客户端无登陆信息并且request请求内的cookie未携带ticiet,则获取登陆系统的URL,并在尾部追加拼接回调参数,并重定向至拼接后的登录系统URL;
S3:登陆系统拦截request请求并将回调参数URL记录至session中,并返回登陆页面至客户端;
S4:客户端提交登陆请求后登录系统校验成功后生成ticket或生成serviceTicket并通知客户端浏览器重定向至回调参数URL;
S6:业务系统拦截请求,获取存放在request内cookie的ticket或serviceTicket;
S7:业务系统通过HTTP请求访问登录系统消费ticket或serviceTicket;
S8:登陆系统验证ticket或serviceTicket并返回用户登陆信息;
S9:业务系统获取到response内的用户登陆信息,将用户登陆信息保存至session中完成用户登陆校验。
2.根据权利要求1所述的一种基于ticket的多系统统一登录方法,其特征在于,所述登陆系统服务器以及业务系统服务器均采用的Java Web服务器tomcat配置。
3.根据权利要求2所述的一种基于ticket的多系统统一登录方法,其特征在于,所述客户端浏览器采用网页重构技术JavaScript+AngularJS网页布局技术Div+设计布局格式Css的技术。
4.根据权利要求3所述的一种基于ticket的多系统统一登录方法,其特征在于,所述登陆系统服务器以及业务系统服务器网络协议转发模块均采用java功能组件完成,所述的登陆系统服务器以及业务系统服务器均使用java编写独立运行网络进程,其中每个功能服务监听相应的端口,系统之间使用各自的服务器网络协议转发模块组件进行通信,完成业务功能。
5.根据权利要求4所述的一种基于ticket的多系统统一登录方法,其特征在于,所述数据库database采用数据库管理系统mysql搭建,登陆系统服务器对所述数据库database进行访问。
6.根据权利要求5所述的一种基于ticket的多系统统一登录方法,其特征在于,所述登陆系统与业务系统交互在后台使用java程序调用HTTP协议进行系统间的交互,所述系统间的交互传递数据格式均使用JSON数据格式。
7.根据权利要求6所述的一种基于ticket的多系统统一登录方法,其特征在于,所述S4中的客户端提交登陆请求,登录系统校验成功后生成ticket为客户端在登录页面提交账号密码,登陆系统对账号密码进行验证,通过则生成ticket与用户登录信息建立ticket与用户登陆信息的键值映射关系,ticket为键,用户登陆信息为值,保存在登录系统中,并将ticket添加至response内的cookie。
8.根据权利要求7所述的一种基于ticket的多系统统一登录方法,其特征在于,所述S4中的客户端提交登陆请求后登录系统校验成功后生成serviceTicket为获取先前保存在session中的回调参数,判断回调参数值URL是否与登录系统所处同个域名,不相同则是跨域登陆,生成一个值以“st-”开头的serviceTicket并与ticket建立serviceTicket与ticket的键值映射关系,serviceTicket为键,ticket为值,保存在登录系统中,并将serviceTicket追加拼接至回调参数尾部,重定向至回调参数URL地址。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911145859.0A CN112825516A (zh) | 2019-11-21 | 2019-11-21 | 一种基于ticket的多系统统一登录方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911145859.0A CN112825516A (zh) | 2019-11-21 | 2019-11-21 | 一种基于ticket的多系统统一登录方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112825516A true CN112825516A (zh) | 2021-05-21 |
Family
ID=75907280
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911145859.0A Pending CN112825516A (zh) | 2019-11-21 | 2019-11-21 | 一种基于ticket的多系统统一登录方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112825516A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113407925A (zh) * | 2021-06-11 | 2021-09-17 | 国网浙江省电力有限公司电力科学研究院 | 应用系统与iam系统之间的无应用改造对接方法及系统 |
CN115291877A (zh) * | 2022-10-10 | 2022-11-04 | 深圳市明源云客电子商务有限公司 | 业务开发方法、装置、终端设备及计算机可读存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105592026A (zh) * | 2014-11-14 | 2016-05-18 | 国家电网公司 | 一种多网段多系统单点登录方法 |
CN109165500A (zh) * | 2018-09-04 | 2019-01-08 | 山东浪潮云投信息科技有限公司 | 一种基于跨域技术的单点登录认证系统及方法 |
-
2019
- 2019-11-21 CN CN201911145859.0A patent/CN112825516A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105592026A (zh) * | 2014-11-14 | 2016-05-18 | 国家电网公司 | 一种多网段多系统单点登录方法 |
CN109165500A (zh) * | 2018-09-04 | 2019-01-08 | 山东浪潮云投信息科技有限公司 | 一种基于跨域技术的单点登录认证系统及方法 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113407925A (zh) * | 2021-06-11 | 2021-09-17 | 国网浙江省电力有限公司电力科学研究院 | 应用系统与iam系统之间的无应用改造对接方法及系统 |
CN113407925B (zh) * | 2021-06-11 | 2022-05-17 | 国网浙江省电力有限公司电力科学研究院 | 应用系统与iam系统之间的无应用改造对接方法及系统 |
CN115291877A (zh) * | 2022-10-10 | 2022-11-04 | 深圳市明源云客电子商务有限公司 | 业务开发方法、装置、终端设备及计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108319483B (zh) | 网页处理方法、装置、终端及存储介质 | |
CN108733991B (zh) | 网页应用访问方法及装置、存储介质 | |
US20050015491A1 (en) | Systems, methods, and articles of manufacture for dynamically providing web services | |
US20230370464A1 (en) | Systems and methods for controlling sign-on to web applications | |
US7530099B2 (en) | Method and system for a single-sign-on mechanism within application service provider (ASP) aggregation | |
US7277408B2 (en) | Shared application access for data services in wireless telecommunication systems | |
US10911426B2 (en) | Custom authenticator for enterprise web application | |
US9864671B1 (en) | Systems and methods of live experimentation on content provided by a web site | |
US20070260702A1 (en) | Web browser architecture for virtual machine access | |
US20090177956A1 (en) | Method and Apparatus for Implementing Browser Based Hypertext Transfer Protocol Session Storage | |
CN110177120A (zh) | 一种单点登录的方法、装置及计算机可读存储介质 | |
US7881304B2 (en) | Using distributed aspects to reorder online application workflows | |
JP2005505051A (ja) | クライアント−サーバネットワークにおいてファイルタイプの関連性により分散型のプログラムの実行方法 | |
US20140136937A1 (en) | Providing and procuring worksheet functions through an online marketplace | |
US10367890B2 (en) | Maintain single session with a single application across multiple clients | |
CN112417049B (zh) | 一种基于区块链一体机的跨链交互方法与系统 | |
KR20100091165A (ko) | 네트워크 오퍼레이팅 시스템 | |
CN100512115C (zh) | 给用户提供业务服务的方法和系统 | |
Aguilar | SignalR Programming in Microsoft ASP. NET | |
CN112825516A (zh) | 一种基于ticket的多系统统一登录方法 | |
KR20100105544A (ko) | 제스쳐 기반 협업 | |
CN105959278B (zh) | 一种调用vpn的方法、设备和系统 | |
US11811884B1 (en) | Topic subscription provisioning for communication protocol | |
CN113055348B (zh) | 一种跨平台数据请求方法、装置及电子设备 | |
CN110071840A (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: 20210521 |
|
RJ01 | Rejection of invention patent application after publication |