CN111541650A - 一种多站点单点登录实现方法 - Google Patents
一种多站点单点登录实现方法 Download PDFInfo
- Publication number
- CN111541650A CN111541650A CN202010242404.7A CN202010242404A CN111541650A CN 111541650 A CN111541650 A CN 111541650A CN 202010242404 A CN202010242404 A CN 202010242404A CN 111541650 A CN111541650 A CN 111541650A
- Authority
- CN
- China
- Prior art keywords
- client
- user information
- certificate
- logged
- database
- 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
-
- 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
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)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种多站点单点登录实现方法包括以下步骤:步骤1,在客户端触发登陆操作;步骤2,服务端将用户信息与存储在数据库中的正确用户信息进行比对验证;步骤3,验证通过后,服务端将用户信息写入会话控制对象,同时生成用于访问数据库的凭证,所述会话控制对象将用户信息存储到数据库中;步骤4,服务端将所述凭证发送给客户端;步骤5,客户端调用待登录客户端提供的同步登录态接口,将凭证传过去;步骤6,待登录客户端获取到凭证,获取缓存中的用户信息完成登录态的同步。本发明所述的一种多站点单点登录实现方法通过凭证访问redis数据库而非SSO系统,大大减轻了访问压力,同时高效的实现了登陆状态的同步。
Description
技术领域
本发明属于互联网领域,尤其是涉及一种多站点单点登录实现方法。
背景技术
单点登录是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统,单点登录SSO(Single Sign-On)是一种统一认证和授权机制,指访问同一服务端不同应用中的受保护资源的同一用户,只需要登录一次,即通过一个应用中的安全验证后,再访问其他应用中的受保护资源时,不再需要重新登录验证。SSO解决了用户只需要登录一次就可以访问所有相互信任的应用系统,而不用重复登录。
现有技术中大多采用SSO系统来实现多客户端单点登录,所有的客户端都请求SSO系统,对SSO系统造成非常大的压力,影响运行速度,而对此问题的现有解决办法是将用户信息部署在分发网络上,用SSO系统维护,这样虽然减少了对SSO的访问但如果浏览器安全性高,数据存储将会失败。
发明内容
有鉴于此,本发明旨在克服上述现有技术中存在的缺陷,提出一种多站点单点登录实现方法。
为达到上述目的,本发明的技术方法是这样实现的:
一种多站点单点登录实现方法,其特征在于包括以下步骤:
步骤1,在客户端触发登陆操作,客户端将操作产生的用户信息发送给服务端;
步骤2,服务端将用户信息与存储在数据库中的正确用户信息进行比对验证;
步骤3,验证通过后,服务端将用户信息写入会话控制对象,同时生成用于访问数据库的凭证,所述会话控制对象将用户信息存储到数据库中;
步骤4,服务端将所述凭证发送给客户端;
步骤5,客户端调用待登录客户端提供的同步登录态接口,将凭证传过去;
步骤6,待登录客户端获取到凭证,获取缓存中的用户信息,从而完成登录态的同步。
进一步的,所述步骤2、步骤3中利用的数据库为redis数据库。
进一步的,所述步骤2中待登录客户端通过凭证从数据库中获取到用户信息后,待登录客户端创建或更新与其对应的cookie,将用户信息存入cookie进行同步。
进一步的,数据库中用于存储用户信息的键是由UUID生成的唯一标识;
所述步骤6中所述键与所述cookie中的值相对应,所述会话控制对象的创建和修改都会将用户信息写入到所述cookie中。
进一步的,所述步骤2中服务端使用加密算法对生成的所述凭证进行加密,服务端将加密后的所述凭证发送给客户端,客户端将加密后的所述凭证发送给待登录客户端,待登录客户端对所述凭证进行解密,通过所述凭证访问数据库获取用户信息,完成登录态的同步。
进一步的,一种多站点单点登录实现方法,还包括待登录客户端登陆失效后的处理方法:具体如下,待登录客户端登录态失效后,判断客户端的登录态是否失效,客户端的登录态失效,重新登录,客户端的登录态未失效,待登录客户端重新通过所述凭证访问数据库获取用户信息,完成登录态的同步。
附图说明
构成本发明的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为本发明实施例所述的一种多站点单点登录实现方法的流程图;
图2为本发明实施例所述的客户端登录态失效后操作流程示意图。
具体实施方式
需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”等的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。
在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以通过具体情况理解上述术语在本发明中的具体含义。
下面将参考附图并结合实施例来详细说明本发明。
如图1所示,一种多站点单点登录实现方法,其特征在于包括以下步骤:
步骤1,在客户端触发登陆操作,客户端将操作产生的用户信息发送给服务端;
步骤2,服务端将用户信息与存储在数据库中的正确用户信息进行比对验证;
步骤3,验证通过后,服务端将用户信息写入会话控制对象,同时生成用于访问数据库的凭证,所述会话控制对象将用户信息存储到数据库中;
步骤4,服务端将所述凭证发送给客户端;
步骤5,客户端调用待登录客户端提供的同步登录态接口,将凭证传过去;
步骤6,待登录客户端获取到凭证,获取缓存中的用户信息,从而完成登录态的同步。
如图1所示,所述步骤2、步骤3中利用的数据库为redis数据库。
如图1所示,所述步骤2中待登录客户端通过凭证从数据库中获取到用户信息后,待登录客户端创建或更新与其对应的cookie,将用户信息存入cookie进行同步,避免多次登录。
如图1所示,数据库中用于存储用户信息的键是由UUID生成的唯一标识;
所述步骤6中所述键与所述cookie中的值相对应,所述会话控制对象的创建和修改都会将用户信息写入到所述cookie中。
如图1所示,所述步骤2中服务端使用加密算法对生成的所述凭证进行加密,服务端将加密后的所述凭证发送给客户端,客户端将加密后的所述凭证发送给待登录客户端,待登录客户端对所述凭证进行解密,通过所述凭证访问数据库获取用户信息,完成登录态的同步。
如图2所示,一种多站点单点登录实现方法,还包括待登录客户端登陆失效后的处理方法:具体如下,待登录客户端登录态失效后,判断客户端的登录态是否失效,客户端的登录态失效,重新登录,客户端的登录态未失效,待登录客户端重新通过所述凭证访问数据库获取用户信息,完成登录态的同步。
具体的,在客户端采用node.js,缓存使用Redis数据库来实现多客户端的单点登录功能。用户登录凭证采用基于会话控制对象的cookie维系,客户端的会话控制对象信息用Redis数据库承载,从数据层面上看,Redis数据库中存储会话控制对象的键便是cookie中的值,键是由UUID生成的唯一标识。为了保证会话控制对象与cookie保持对应,会话控制对象创建与修改都会触发所述的客户端写入cookie。
如图2所示,步骤S101,在客户端触发登陆操作,客户端将操作产生的用户信息发送给服务端;
步骤S102,服务端将用户信息与存储在数据库中的正确用户信息进行比对验证;
步骤S103,验证通过后,服务端将用户信息写入会话控制对象,同时生成用于访问数据库的凭证,所述会话控制对象将用户信息存储到数据库中;
步骤S104,客户端完成登录逻辑后,为了安全性,在传输凭证前,服务端对凭证进行加密,可采用AES或者RSA加密算法。
步骤S105,服务端将所述凭证发送给客户端;
步骤S106,客户端获取到凭证后,调用待登录客户端提供的同步登录态接口,将凭证传过去。
步骤S107,待登录客户端获取到凭证并对其解密,查询缓存中的用户信息,创建会话控制对象,写入待登录客户端域名下的cookie信息从而完成登录态的同步。
如图2所示,步骤S200,当待登录客户端获得的登陆状态失效时,这时候访问待登录客户端页面,就需要再一次前往客户端同步登录态。
待登录客户端上的页面分为两种,一种是需要登录态才可以访问的,一种是不需要登录态就可以访问的。
第一种情况,需要重定向到客户端,因为此时时我们也不知道客户端的登录态是否也失效了,所以需要回到客户端判断客户端当前的登录态:
步骤S211,客户端登录态未失效,步骤S212,待登录客户端重新向客户端获取凭证;
步骤S221,判断客户端登录态失效,步骤S222,返回登陆页面重新登录,步骤S223,客户端重新向待登录客户端发送加密凭证。
第二种情况,虽然待登录客户端页面不需要登录态就可以查看,但是客户端往往会在页面的head部分标记用户的登录态,所以为了让这部分的显示正常,我们在当前页面异步的去更新登录态即可。
待登录客户端登录态失效后,判断客户端的登录态是否失效,客户端的登录态失效,重新登录,客户端的登录态未失效,待登录客户端重新通过所述凭证访问数据库获取用户信息,完成登录态的同步。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (6)
1.一种多站点单点登录实现方法,其特征在于包括以下步骤:
步骤1,在客户端触发登陆操作,客户端将操作产生的用户信息发送给服务端;
步骤2,服务端将用户信息与存储在数据库中的正确用户信息进行比对验证;
步骤3,验证通过后,服务端将用户信息写入会话控制对象,同时生成用于访问数据库的凭证,所述会话控制对象将用户信息存储到数据库中;
步骤4,服务端将所述凭证发送给客户端;
步骤5,客户端调用待登录客户端提供的同步登录态接口,将凭证传过去;
步骤6,待登录客户端获取到凭证,获取缓存中的用户信息,从而完成登录态的同步。
2.根据权利要求1所述的一种多站点单点登录实现方法,其特征在于:所述步骤2、步骤3中利用的数据库为redis数据库。
3.根据权利要求1所述的一种多站点单点登录实现方法,其特征在于:所述步骤2中待登录客户端通过凭证从数据库中获取到用户信息后,待登录客户端创建或更新与其对应的cookie,将用户信息存入cookie进行同步。
4.根据权利要求3所述的一种多站点单点登录实现方法,其特征在于:数据库中用于存储用户信息的键是由UUID生成的唯一标识;
所述步骤6中所述键与所述cookie中的值相对应,所述会话控制对象的创建和修改都会将用户信息写入到所述cookie中。
5.根据权利要求1所述的一种多站点单点登录实现方法,其特征在于:所述步骤2中服务端使用加密算法对生成的所述凭证进行加密,服务端将加密后的所述凭证发送给客户端,客户端将加密后的所述凭证发送给待登录客户端,待登录客户端对所述凭证进行解密,通过所述凭证访问数据库获取用户信息,完成登录态的同步。
6.根据权利要求1所述的一种多站点单点登录实现方法,还包括待登录客户端登陆失效后的处理方法:具体如下,待登录客户端登录态失效后,判断客户端的登录态是否失效,客户端的登录态失效,重新登录,客户端的登录态未失效,待登录客户端重新通过所述凭证访问数据库获取用户信息,完成登录态的同步。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010242404.7A CN111541650A (zh) | 2020-03-31 | 2020-03-31 | 一种多站点单点登录实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010242404.7A CN111541650A (zh) | 2020-03-31 | 2020-03-31 | 一种多站点单点登录实现方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111541650A true CN111541650A (zh) | 2020-08-14 |
Family
ID=71976930
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010242404.7A Pending CN111541650A (zh) | 2020-03-31 | 2020-03-31 | 一种多站点单点登录实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111541650A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112968862A (zh) * | 2020-12-31 | 2021-06-15 | 南京联创互联网技术有限公司 | 一种基于redis的单点登录方法与装置 |
CN113824675A (zh) * | 2020-09-17 | 2021-12-21 | 京东科技控股股份有限公司 | 管理登录态的方法和装置 |
CN114679302A (zh) * | 2022-03-01 | 2022-06-28 | 中信百信银行股份有限公司 | 对接单点登陆类系统的方法、装置、设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150089614A1 (en) * | 2013-09-20 | 2015-03-26 | Oracle International Corporation | Single sign-on between multiple data centers |
CN108632241A (zh) * | 2018-03-07 | 2018-10-09 | 湖南小步科技有限公司 | 一种多应用系统统一登录方法和装置 |
CN108965332A (zh) * | 2018-08-29 | 2018-12-07 | 北京航天云路有限公司 | 多站点用户登录状态同步方法及系统 |
CN110933084A (zh) * | 2019-11-29 | 2020-03-27 | 深圳乐信软件技术有限公司 | 一种跨域共享登录态方法、装置、终端及存储介质 |
-
2020
- 2020-03-31 CN CN202010242404.7A patent/CN111541650A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150089614A1 (en) * | 2013-09-20 | 2015-03-26 | Oracle International Corporation | Single sign-on between multiple data centers |
CN108632241A (zh) * | 2018-03-07 | 2018-10-09 | 湖南小步科技有限公司 | 一种多应用系统统一登录方法和装置 |
CN108965332A (zh) * | 2018-08-29 | 2018-12-07 | 北京航天云路有限公司 | 多站点用户登录状态同步方法及系统 |
CN110933084A (zh) * | 2019-11-29 | 2020-03-27 | 深圳乐信软件技术有限公司 | 一种跨域共享登录态方法、装置、终端及存储介质 |
Non-Patent Citations (1)
Title |
---|
小梨也: "多站点单点登录实现方案-掘金", 《HTTPS://JUEJIN.CN/POST/6844903866153041933》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113824675A (zh) * | 2020-09-17 | 2021-12-21 | 京东科技控股股份有限公司 | 管理登录态的方法和装置 |
CN113824675B (zh) * | 2020-09-17 | 2023-08-08 | 京东科技控股股份有限公司 | 管理登录态的方法和装置 |
CN112968862A (zh) * | 2020-12-31 | 2021-06-15 | 南京联创互联网技术有限公司 | 一种基于redis的单点登录方法与装置 |
CN114679302A (zh) * | 2022-03-01 | 2022-06-28 | 中信百信银行股份有限公司 | 对接单点登陆类系统的方法、装置、设备及存储介质 |
CN114679302B (zh) * | 2022-03-01 | 2024-05-10 | 中信百信银行股份有限公司 | 对接单点登陆类系统的方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6993596B2 (en) | System and method for user enrollment in an e-community | |
KR101302763B1 (ko) | 애플리케이션 및 인터넷 기반 서비스들에 신뢰성있는 싱글 사인온 액세스를 제공하는 방법 및 장치 | |
US8997196B2 (en) | Flexible end-point compliance and strong authentication for distributed hybrid enterprises | |
US8209541B2 (en) | Method and system for single sign-on for multiple remote sites of a computer network | |
EP1927211B1 (en) | Authentication method and apparatus utilizing proof-of-authentication module | |
CN111541650A (zh) | 一种多站点单点登录实现方法 | |
US20110055903A1 (en) | Authenticating use of a dispersed storage network | |
US20030158949A1 (en) | System and method for single sign-on session management without central server | |
US20040193921A1 (en) | Systems and methods for authenticating a user to a web server | |
US20100077467A1 (en) | Authentication service for seamless application operation | |
AU2001280975A1 (en) | Systems and methods for authenticating a user to a web server | |
EP2957064B1 (en) | Method of privacy-preserving proof of reliability between three communicating parties | |
KR20110003353A (ko) | 만료된 패스워드 처리 | |
CN111147525A (zh) | 基于api网关的认证方法、系统、服务器和存储介质 | |
EP4203377A1 (en) | Service registration method and device | |
CN109587098B (zh) | 一种认证系统和方法、授权服务器 | |
US10785213B2 (en) | Continuous authentication | |
GB2582180A (en) | Distributed authentication | |
US11849041B2 (en) | Secure exchange of session tokens for claims-based tokens in an extensible system | |
WO2022026965A1 (en) | Device fingerprint encoding component attributes | |
CN116996316A (zh) | 一种即联即用的服务认证系统及方法 | |
CN118337519A (zh) | 认证方法、装置、服务器、介质及产品 | |
CN115225403A (zh) | 一种单点登录方法和相关装置 | |
Tiwari et al. | Securing any business service using authorization delegation based on advanced cryptographic techniques |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200814 |