CN112597472A - 单点登录方法、装置及存储介质 - Google Patents
单点登录方法、装置及存储介质 Download PDFInfo
- Publication number
- CN112597472A CN112597472A CN202110236829.1A CN202110236829A CN112597472A CN 112597472 A CN112597472 A CN 112597472A CN 202110236829 A CN202110236829 A CN 202110236829A CN 112597472 A CN112597472 A CN 112597472A
- Authority
- CN
- China
- Prior art keywords
- single sign
- token
- identification code
- unique identification
- request
- 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
- 238000000034 method Methods 0.000 title claims abstract description 45
- 235000014510 cooky Nutrition 0.000 claims abstract description 35
- 238000012795 verification Methods 0.000 claims abstract description 14
- 238000012545 processing Methods 0.000 claims description 11
- 238000004590 computer program Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 238000012423 maintenance Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
- G06F21/41—User authentication where a single sign-on provides access to a plurality of computers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/101—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM] by binding digital rights to specific entities
- G06F21/1014—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM] by binding digital rights to specific entities to tokens
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/107—License processing; Key processing
- G06F21/1078—Logging; Metering
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Technology Law (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本公开涉及一种单点登录方法、装置及存储介质。单点登录方法,应用于单点登录系统,单点登录系统包括多个业务子系统,方法包括:获取单点登录系统客户端发送的登录请求,对登录请求中的用户数据进行校验,用户数据至少包括用户身份信息;在用户数据校验通过后,生成唯一识别码以及携带用户身份信息的token,将唯一识别码与token进行关联,并将唯一识别码写入单点登录系统客户端的本地cookie;当检测到单点登录系统客户端发送的用于访问指定业务子系统的访问请求时,获取访问请求中包括的唯一识别码,根据唯一识别码,校验与唯一识别码对应的token的有效性;若确定token有效,则重定向访问请求至业务子系统,以登录业务子系统。通过本公开,可保证用户身份信息的安全。
Description
技术领域
本公开涉及移动通信技术领域,尤其涉及单点登录方法、装置及存储介质。
背景技术
单点登录(SSO,Single Sign On)是一种认证方法,用户可以只登录一次,例如使用一个用户标识和密码,就可以访问相互信任的多个应用、系统或Web网站。单点登录技术提高了用户体验,同时减少了管理大量应用上的用户名和密码的成本,提高了工作效率。
发明内容
为克服相关技术中存在的问题,本公开提供一种单点登录方法、装置及存储介质。
根据本公开实施例的第一方面,提供一种单点登录方法,应用于单点登录系统,单点登录系统包括多个业务子系统,单点登录方法包括:
获取单点登录系统客户端发送的登录请求,对所述登录请求中的用户数据进行校验,所述用户数据至少包括用户身份信息;
在所述用户数据校验通过后,生成唯一识别码以及携带用户身份信息的令牌token,将所述唯一识别码与所述token进行关联,并将所述唯一识别码写入所述单点登录系统客户端的本地cookie;
当检测到单点登录系统客户端发送的用于访问指定业务子系统的访问请求时,获取访问请求中包括的唯一识别码,根据所述唯一识别码,校验与所述唯一识别码对应的所述token的有效性;
若确定所述token有效,则重定向所述访问请求至所述业务子系统,以登录所述业务子系统。
可选地,若确定所述token无效,则向所述单点登录系统客户端返回所述单点登录系统的登录页面,并获取单点登录系统客户端发送的登录请求。
可选地,生成携带用户身份信息的令牌token后,所述方法还包括:
设置所述token的有效期限,并将所述token以及所述token和所述唯一识别码的关联关系进行存储。
可选地,所述多个业务子系统中的每一个业务子系统对应不同的登录域名,所述将所述唯一识别码写入所述单点登录系统客户端的本地cookie,包括:
获取所述多个业务子系统中的每一个业务子系统的登录域名;
将所述唯一识别码依次写入所述多个业务子系统中的每一个业务子系统的登录域名的本地cookie。
可选地,所述用户数据还包括所述单点登录系统客户端的请求统一资源定位符url,所述获取单点登录系统客户端发送的登录请求,对所述登录请求中的用户数据进行校验,包括:
获取所述单点登录系统客户端基于所述请求统一资源定位符url发送的登录请求,对所述登录请求中的请求统一资源定位符url和用户身份信息进行校验。
可选地,所述单点登录系统为基于微服务架构的单点登录系统,所述微服务架构的单点登录系统包括网关和鉴权服务;
所述对所述登录请求中的用户数据进行校验,包括:
通过所述网关对所述请求统一资源定位符url进行校验,确定所述请求统一资源定位符url属于预设的白名单,并
通过所述鉴权服务对所述用户身份信息进行校验,确定所述用户身份信息为已授权信息。
可选地,所述若确定所述token有效,所述方法还包括:
获取预设时间段内基于所述token的访问请求,并获取所述访问请求中包括的访问请求次数和访问请求权限;
在预设时间段内若基于所述token的访问请求次数大于预设的访问次数阈值,和/或基于所述token的访问请求权限不符合预设的访问权限,则拒绝所述访问请求。
根据本公开实施例的第二方面,提供一种单点登录装置,应用于单点登录系统,所述单点登录系统包括多个业务子系统,单点登录装置,包括:
获取模块,用于获取单点登录系统客户端发送的登录请求,对所述登录请求中的用户数据进行校验,所述用户数据至少包括用户身份信息;
处理模块,用于在所述用户数据校验通过后,生成唯一识别码以及携带用户身份信息的令牌token,将所述唯一识别码与所述token进行关联,并将所述唯一识别码写入所述单点登录系统客户端的本地cookie,并
当检测到单点登录系统客户端发送的用于访问指定业务子系统的访问请求时,获取访问请求中包括的唯一识别码,根据所述唯一识别码,校验与所述唯一识别码对应的所述token的有效性;
确定模块,用于若确定所述token有效,则重定向所述访问请求至所述业务子系统,以登录所述业务子系统。
可选地,若确定模块确定所述token无效,则向所述单点登录系统客户端返回所述单点登录系统的登录页面,并获取单点登录系统客户端发送的登录请求。
可选地,所述处理装置还用于:
生成携带用户身份信息的令牌token后,设置所述token的有效期限,并将所述token以及所述token和所述唯一识别码的关联关系进行存储。
可选地,所述多个业务子系统中的每一个业务子系统对应不同的登录域名,所述处理装置采用如下方式将所述唯一识别码写入所述单点登录系统客户端的本地cookie:
获取所述多个业务子系统中的每一个业务子系统的登录域名;
将所述唯一识别码依次写入所述多个业务子系统中的每一个业务子系统的登录域名的本地cookie。
可选地,所述用户数据还包括所述单点登录系统客户端的请求统一资源定位符url,所述获取模块采用如下方式获取单点登录系统客户端发送的登录请求,对所述登录请求中的用户数据进行校验:
获取所述单点登录系统客户端基于所述请求统一资源定位符url发送的登录请求,对所述登录请求中的请求统一资源定位符url和用户身份信息进行校验。
可选地,所述单点登录系统为基于微服务架构的单点登录系统,所述微服务架构的单点登录系统包括网关和鉴权服务;
所述获取模块采用如下方式对所述登录请求中的用户数据进行校验:
通过所述网关对所述请求统一资源定位符url进行校验,确定所述请求统一资源定位符url属于预设的白名单,并
通过所述鉴权服务对所述用户身份信息进行校验,确定所述用户身份信息为已授权信息。
可选地,所述若确定所述token有效,所述获取模块还用于:
获取预设时间段内基于所述token的访问请求,并获取所述访问请求中包括的访问请求次数和访问请求权限;
在预设时间段内若基于所述token的访问请求次数大于预设的访问次数阈值,和/或基于所述token的访问请求权限不符合预设的访问权限,则拒绝所述访问请求。
根据本公开实施例的第三方面,提供一种计算机可读存储介质,其上存储有计算机程序指令,该程序指令被处理器执行时实现本公开第一方面所提供的单点登录方法的步骤。
本公开的实施例提供的技术方案可以包括以下有益效果:在本公开中,单点登录系统客户端发送登录请求后,单点登录系统对登录请求中的用户数据进行校验,并在用户数据校验通过后,生成唯一识别码以及携带用户身份信息的token,将所述唯一识别码与所述token进行关联,并将所述唯一识别码写入所述单点登录系统客户端的本地cookie。由此当用户访问指定业务子系统时,访问请求中携带的是生成的唯一识别码,而不是携带用户身份信息的token,通过获取访问请求中包括的唯一识别码,可对与唯一识别码关联的token进行校验,在实现单点登录的同时,可保证用户身份信息的安全。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
图1是根据一示例性实施例示出的一种单点登录方法的流程图。
图2是根据一示例性实施例示出的一种单点登录方法的流程图。
图3是根据一示例性实施例示出的一种单点登录方法的流程图。
图4是根据一示例性实施例示出的一种单点登录装置的框图。
图5是根据一示例性实施例示出的一种装置的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
单点登录(SSO,Single Sign On)是一种认证方法,用户可以只登录一次,使用一个用户ID和密码,就可以访问相互信任的多个应用、系统或Web网站。单点登录技术提高了用户体验,同时减少了管理大量应用上的用户名和密码的成本,提高了工作效率。
相关技术中,实现单点登录SSO时,需要利用cookie机制,以及基于token登录认证机制相结合实现。即单点登录系统客户端发送登录请求,单点登录系统对登录请求鉴权通过后,单点登录系统根据登录请求中的用户身份信息生成包括用户身份信息的访问认证令牌token,将token写入单点登录系统客户端的本地cookie。用户访问应用系统中业务子系统时,单点登录系统客户端携带token的访问请求,发送至单点登录系统,单点登录系统若验证token通过,则会向客户端返回所请求业务子系统的数据,若验证token失败后,则将访问请求重定向到单点登录系统的登录界面。
但是由于生成的token中会携带用户身份信息,使得保存在单点登录系统客户端的本地cookie的token,会存在安全隐患,存在用户身份信息被泄露的风险。
有鉴于此,本公开提供一种单点登录方法,应用于单点登录系统,单点登录系统包括多个业务子系统,在本公开中,单点登录系统客户端发送登录请求后,单点登录系统对登录请求中的用户数据进行校验,并在用户数据校验通过后,生成唯一识别码以及携带用户身份信息的token,将所述唯一识别码与所述token进行关联,并将所述唯一识别码写入所述单点登录系统客户端的本地cookie。由此当用户访问指定业务子系统时,访问请求中携带的是生成的唯一识别码,而不是携带用户身份信息的token,通过获取访问请求中包括的唯一识别码,可对与唯一识别码关联的token进行校验,进而在实现单点登录的同时,可保证用户身份信息的安全。
图1是根据一示例性实施例示出的一种单点登录方法的流程图,如图1所示,应用于单点登录系统,单点登录系统包括多个业务子系统,单点登录方法包括以下步骤。
在步骤S11中,获取单点登录系统客户端发送的登录请求,对登录请求中的用户数据进行校验,用户数据至少包括用户身份信息。
其中,用户身份信息例如可以包括用户账号、密码等信息,还可以包括单点登录系统客户端的请求统一资源定位符(Uniform Resource Location,url)。
一种实施方式中,例如可通过如下方式对登录请求中的用户数据进行校验:
获取单点登录系统客户端基于请求统一资源定位符url发送的登录请求,对登录请求中的请求统一资源定位符url进行校验,确定登录请求中的请求统一资源定位符url请求属于预设的白名单,之后对用户身份信息中包括的账户名,密码等信息进行校验,确定用户身份信息为已授权信息。
在步骤S12中,在用户数据校验通过后,生成唯一识别码以及携带用户身份信息的token,将唯一识别码与token进行关联,并将唯一识别码写入单点登录系统客户端的本地cookie。
对用户数据进行校验,确定用户数据合法后,可根据用户数据生成携带用户身份信息的令牌token,并生成唯一识别码。
其中,唯一识别码例如可以是根据单点登录系统客户端发送登录请求时的请求时间,生成的随机码,将生成的随机码作为唯一识别码(Universally Unique Identifier,UUID),并将唯一识别码与token进行关联,以及将唯一识别码和token分别存储。
将唯一识别码写入单点登录系统客户端的本地cookie,将token、以及token和唯一识别码的关联关系存储于数据库,例如redis库中。
另外,由于现有技术中,将token存储于单点登录系统客户端的本地cookie,使得维护管理人员无法对token进行更进一步的管理,例如对token进行手动失效,使得token的可控性比较低,由此,本公开可通过将token存储于数据库中,并对存储于数据库的token设置有效期限,以实现对token的完全可控性,此外,本公开还可对存储于单点登录系统客户端的本地cookie设置有效期限。
在步骤S13中,当检测到单点登录系统客户端发送的用于访问指定业务子系统的访问请求时,获取访问请求中包括的唯一识别码,根据唯一识别码,校验与唯一识别码对应的token的有效性。
当用户访问单点登录系统的业务子系统时,可根据访问请求中携带的唯一识别码,确定与唯一识别码对应的token,并校验token是否在有效期内,若确定token在有效期内,则重定向访问指定业务子系统的访问请求至业务子系统,以登录业务子系统。
若确定token无效,则向单点登录系统客户端返回单点登录系统的登录页面,并获取单点登录系统客户端发送的登录请求。
在步骤S14中,若确定token有效,则重定向访问请求至业务子系统,以登录业务子系统。
一种实施方式中,若确定token有效,则从数据库中加载当前登录业务子系统对应的用户页面(User Interface,UI)权限和应用程序接口(Application ProgrammingInterface,API)请求权限,UI权限应答Response给单点登录系统客户端,以加载业务子系统页面UI,API请求权限缓存于Redis库作为判读用户操作权限依据。
在本公开的示例性实施例中,单点登录系统客户端发送登录请求后,单点登录系统对登录请求中的用户数据进行校验,并在用户数据校验通过后,生成唯一识别码以及携带用户身份信息的token,将唯一识别码与token进行关联,并将唯一识别码写入单点登录系统客户端的本地cookie。由此当用户访问指定业务子系统时,访问请求中携带的是生成的唯一识别码,而不是携带用户身份信息的token,通过获取访问请求中包括的唯一识别码,可对与唯一识别码关联的token进行校验,进而在实现单点登录的同时,可保证用户身份信息的安全。
图2是根据一示例性实施例示出的一种单点登录方法的流程图,如图2所示,应用于单点登录系统,单点登录系统包括多个业务子系统,单点登录方法包括以下步骤。
在步骤S21中,获取单点登录系统客户端发送的登录请求,对登录请求中的用户数据进行校验,用户数据至少包括用户身份信息。
在步骤S22中,在用户数据校验通过后,生成唯一识别码以及携带用户身份信息的token,将唯一识别码与token进行关联。
在步骤S23中,获取多个业务子系统中的每一个业务子系统的登录域名,将唯一识别码依次写入多个业务子系统中的每一个业务子系统的登录域名的本地cookie。
由于cookie无法跨域访问的特性,使得单点登录系统无法对不同一级域名的子系统进行跨域单点登录。为了解决cookie无法跨域访问的问题,一种实施方式中,针对多个业务子系统中的每一个业务子系统对应不同的一级登录域名,可预先存储多个业务子系统中的每一个业务子系统的登录域名,并将唯一识别码依次写入多个业务子系统中的每一个业务子系统的登录域名的本地cookie。进而不同域名本地的cookie中均存储有唯一识别码,实现针对单点登录系统中不同域名子系统的跨域访问。
在步骤S24中,当检测到单点登录系统客户端发送的用于访问指定业务子系统的访问请求时,获取访问请求中包括的唯一识别码,根据唯一识别码,校验与唯一识别码对应的token的有效性。
在步骤S25中,若确定token有效,则重定向访问请求至业务子系统,以登录业务子系统。
在本公开的示例性实施例中,为了解决cookie无法跨域访问的问题,针对多个业务子系统中的每一个业务子系统对应不同的一级登录域名,可预先存储多个业务子系统中的每一个业务子系统的登录域名,并将唯一识别码依次写入多个业务子系统中的每一个业务子系统的登录域名的本地cookie。进而不同域名本地的cookie中均存储有唯一识别码,实现针对单点登录系统中不同域名子系统的跨域访问。
本公开以下以单点登录系统为基于微服务架构的单点登录系统,微服务架构的单点登录系统包括网关和鉴权服务为例,对应用本公开的单点登录方法进行说明。
本公开中的微服务架构,例如可以是单点登录客户端(前端开发)基于开源前端Ant Design应用框架,和单点登录系统(后端开发)基于开源微服务解决方案Spring Cloud开发而成。
图3是根据一示例性实施例示出的一种单点登录方法的流程图,如图3所示,应用于单点登录系统,单点登录系统包括多个业务子系统,单点登录方法包括以下步骤。
在步骤S31中,通过网关获取单点登录系统客户端发送的登录请求,通过网关对请求统一资源定位符url进行校验,确定请求统一资源定位符url属于预设的白名单,并通过鉴权服务对用户身份信息进行校验,确定用户身份信息为已授权信息。
本公开中,网关用于对外提供单点登录系统的应用程序接口,而业务子系统全部部署于内网中,所有访问经网关过滤、路由查找转发至具体业务子系统,提高业务子系统的安全性。
在步骤S32中,在用户数据校验通过后,生成唯一识别码以及携带用户身份信息的token,将唯一识别码与token进行关联,并将唯一识别码写入单点登录系统客户端的本地cookie。
一种实施方式中,例如可利用jwt(json web token)的方式生成token,其中,利用jwt生成的token会携带用户信息。
在步骤S33中,当检测到单点登录系统客户端发送的用于访问指定业务子系统的访问请求时,获取访问请求中包括的唯一识别码,根据唯一识别码,校验与唯一识别码对应的token的有效性。
在步骤S34中,若确定token有效,则重定向访问请求至业务子系统,以登录业务子系统。
在步骤S35中,获取预设时间段内基于token的访问请求,并获取访问请求中包括的访问请求次数和访问请求权限。
由于所有访问指定业务子系统的访问请求都经由网关过滤转发,网关对访问请求会进行日志记录,当在预设时间段内,基于该token的访问请求次数大于预设的访问次数阈值,和/或基于该token的访问请求权限不符合预设的访问权限,则拒绝基于token的访问请求。
并对基于该token的访问请求予以标记并拉入token黑名单中,token进入黑名单后,网关对其后续发起的访问例如将返回403予以拒绝。
为了进一步方便后台维护管理人员对token权限的管理,本公开可提供token后台管理界面,以方便后台维护管理人员对token的进一步管理操作。
在步骤S36中,在预设时间段内若基于token的访问请求次数大于预设的访问次数阈值,和/或基于token的访问请求权限不符合预设的访问权限,则拒绝访问请求。
图4是根据一示例性实施例示出的一种单点登录装置400的框图。参照图4,单点登录装置,应用于单点登录系统,单点登录系统包括多个业务子系统,单点登录装置包括获取模块401、处理模块402和确定模块403。
其中,获取模块401,用于获取单点登录系统客户端发送的登录请求,对所述登录请求中的用户数据进行校验,所述用户数据至少包括用户身份信息;
处理模块402,用于在所述用户数据校验通过后,生成唯一识别码以及携带用户身份信息的令牌token,将所述唯一识别码与所述token进行关联,并将所述唯一识别码写入所述单点登录系统客户端的本地cookie,并当检测到单点登录系统客户端发送的用于访问指定业务子系统的访问请求时,获取访问请求中包括的唯一识别码,根据所述唯一识别码,校验与所述唯一识别码对应的所述token的有效性;
确定模块403,用于若确定所述token有效,则重定向所述访问请求至所述业务子系统,以登录所述业务子系统。
可选地,若确定模块403确定所述token无效,则向所述单点登录系统客户端返回所述单点登录系统的登录页面,并获取单点登录系统客户端发送的登录请求。
可选地,所述处理装置402还用于:
生成携带用户身份信息的令牌token后,设置所述token的有效期限,并将所述token以及所述token和所述唯一识别码的关联关系进行存储。
可选地,所述多个业务子系统中的每一个业务子系统对应不同的登录域名,所述处理装置402采用如下方式将所述唯一识别码写入所述单点登录系统客户端的本地cookie:
获取所述多个业务子系统中的每一个业务子系统的登录域名;
将所述唯一识别码依次写入所述多个业务子系统中的每一个业务子系统的登录域名的本地cookie。
可选地,所述用户数据还包括所述单点登录系统客户端的请求统一资源定位符url,所述获取模块401采用如下方式获取单点登录系统客户端发送的登录请求,对所述登录请求中的用户数据进行校验:
获取所述单点登录系统客户端基于所述请求统一资源定位符url发送的登录请求,对所述登录请求中的请求统一资源定位符url和用户身份信息进行校验。
可选地,所述单点登录系统为基于微服务架构的单点登录系统,所述微服务架构的单点登录系统包括网关和鉴权服务;
所述获取模块401采用如下方式对所述登录请求中的用户数据进行校验:
通过所述网关对所述请求统一资源定位符url进行校验,确定所述请求统一资源定位符url属于预设的白名单,并
通过所述鉴权服务对所述用户身份信息进行校验,确定所述用户身份信息为已授权信息。
可选地,所述若确定所述token有效,所述获取模块401还用于:
获取预设时间段内基于所述token的访问请求,并获取所述访问请求中包括的访问请求次数和访问请求权限;
在预设时间段内若基于所述token的访问请求次数大于预设的访问次数阈值,和/或基于所述token的访问请求权限不符合预设的访问权限,则拒绝所述访问请求。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
本公开还提供一种计算机可读存储介质,其上存储有计算机程序指令,该程序指令被处理器执行时实现本公开提供的单点登录方法的步骤。
图5是根据一示例性实施例示出的一种用于单点登录的装置500的框图。例如,装置500可以被提供为一服务器。参照图5,装置500包括处理组件522,其进一步包括一个或多个处理器,以及由存储器532所代表的存储器资源,用于存储可由处理组件522的执行的指令,例如应用程序。存储器532中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件522被配置为执行指令,以执行上述单点登录方法。
装置500还可以包括一个电源组件526被配置为执行装置500的电源管理,一个有线或无线网络接口550被配置为将装置500连接到网络,和一个输入输出(I/O)接口558。装置500可以操作基于存储在存储器532的操作系统,例如Windows ServerTM,Mac OS XTM,UnixTM, LinuxTM,FreeBSDTM或类似。
本领域技术人员在考虑说明书及实践本公开后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (10)
1.一种单点登录方法,其特征在于,应用于单点登录系统,所述单点登录系统包括多个业务子系统,所述方法包括:
获取单点登录系统客户端发送的登录请求,对所述登录请求中的用户数据进行校验,所述用户数据至少包括用户身份信息;
在所述用户数据校验通过后,生成唯一识别码以及携带用户身份信息的令牌token,将所述唯一识别码与所述token进行关联,并将所述唯一识别码写入所述单点登录系统客户端的本地cookie;
当检测到单点登录系统客户端发送的用于访问指定业务子系统的访问请求时,获取访问请求中包括的唯一识别码,根据所述唯一识别码,校验与所述唯一识别码对应的所述token的有效性;
若确定所述token有效,则重定向所述访问请求至所述业务子系统,以登录所述业务子系统。
2.根据权利要求1所述的单点登录方法,其特征在于,若确定所述token无效,则向所述单点登录系统客户端返回所述单点登录系统的登录页面,并获取单点登录系统客户端发送的登录请求。
3.根据权利要求1所述的单点登录方法,其特征在于,生成携带用户身份信息的令牌token后,所述方法还包括:
设置所述token的有效期限,并将所述token以及所述token和所述唯一识别码的关联关系进行存储。
4.根据权利要求1所述的单点登录方法,其特征在于,所述多个业务子系统中的每一个业务子系统对应不同的登录域名,所述将所述唯一识别码写入所述单点登录系统客户端的本地cookie,包括:
获取所述多个业务子系统中的每一个业务子系统的登录域名;
将所述唯一识别码依次写入所述多个业务子系统中的每一个业务子系统的登录域名的本地cookie。
5.根据权利要求1所述的单点登录方法,其特征在于,所述用户数据还包括所述单点登录系统客户端的请求统一资源定位符url,所述获取单点登录系统客户端发送的登录请求,对所述登录请求中的用户数据进行校验,包括:
获取所述单点登录系统客户端基于所述请求统一资源定位符url发送的登录请求,对所述登录请求中的请求统一资源定位符url和用户身份信息进行校验。
6.根据权利要求5所述的单点登录方法,其特征在于,所述单点登录系统为基于微服务架构的单点登录系统,所述微服务架构的单点登录系统包括网关和鉴权服务;
所述对所述登录请求中的用户数据进行校验,包括:
通过所述网关对所述请求统一资源定位符url进行校验,确定所述请求统一资源定位符url属于预设的白名单,并
通过所述鉴权服务对所述用户身份信息进行校验,确定所述用户身份信息为已授权信息。
7.根据权利要求1所述的单点登录方法,其特征在于,所述若确定所述token有效,所述方法还包括:
获取预设时间段内基于所述token的访问请求,并获取所述访问请求中包括的访问请求次数和访问请求权限;
在预设时间段内若基于所述token的访问请求次数大于预设的访问次数阈值,和/或基于所述token的访问请求权限不符合预设的访问权限,则拒绝所述访问请求。
8.一种单点登录装置,其特征在于,应用于单点登录系统,所述单点登录系统包括多个业务子系统,所述装置包括:
获取模块,用于获取单点登录系统客户端发送的登录请求,对所述登录请求中的用户数据进行校验,所述用户数据至少包括用户身份信息;
处理模块,用于在所述用户数据校验通过后,生成唯一识别码以及携带用户身份信息的令牌token,将所述唯一识别码与所述token进行关联,并将所述唯一识别码写入所述单点登录系统客户端的本地cookie,并
当检测到单点登录系统客户端发送的用于访问指定业务子系统的访问请求时,获取访问请求中包括的唯一识别码,根据所述唯一识别码,校验与所述唯一识别码对应的所述token的有效性;
确定模块,用于若确定所述token有效,则重定向所述访问请求至所述业务子系统,以登录所述业务子系统。
9.一种单点登录装置,其特征在于,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:执行权利要求1-7中任一项所述单点登录方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序指令,其特征在于,该程序指令被处理器执行时实现权利要求1-7中任一项所述单点登录方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110236829.1A CN112597472B (zh) | 2021-03-03 | 2021-03-03 | 单点登录方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110236829.1A CN112597472B (zh) | 2021-03-03 | 2021-03-03 | 单点登录方法、装置及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112597472A true CN112597472A (zh) | 2021-04-02 |
CN112597472B CN112597472B (zh) | 2021-06-04 |
Family
ID=75210230
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110236829.1A Active CN112597472B (zh) | 2021-03-03 | 2021-03-03 | 单点登录方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112597472B (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113271310A (zh) * | 2021-05-25 | 2021-08-17 | 四川虹魔方网络科技有限公司 | 校验及管理请求权限的方法 |
CN113364798A (zh) * | 2021-06-21 | 2021-09-07 | 浪潮云信息技术股份公司 | 一种基于Redis的用户访问频率处理装置 |
CN113468579A (zh) * | 2021-07-23 | 2021-10-01 | 挂号网(杭州)科技有限公司 | 数据访问方法、装置、设备和存储介质 |
CN113542238A (zh) * | 2021-06-29 | 2021-10-22 | 上海派拉软件股份有限公司 | 一种基于零信任的风险判定方法及系统 |
CN113722691A (zh) * | 2021-09-14 | 2021-11-30 | 京东科技控股股份有限公司 | 商家数据自助接入实现方法和装置 |
CN113765676A (zh) * | 2021-09-18 | 2021-12-07 | 平安国际智慧城市科技股份有限公司 | 基于用户多身份的接口访问控制方法及相关设备 |
CN114363091A (zh) * | 2022-03-02 | 2022-04-15 | 工业互联网创新中心(上海)有限公司 | 一种基于apisix实现平台应用统一登录的方法及系统 |
CN115102762A (zh) * | 2022-06-21 | 2022-09-23 | 深圳奇迹智慧网络有限公司 | 单点登录方法、智能终端及可读存储介质 |
CN116032621A (zh) * | 2022-12-30 | 2023-04-28 | 中国联合网络通信集团有限公司 | 前端登录方法、装置、电子设备及介质 |
CN116094803A (zh) * | 2023-01-10 | 2023-05-09 | 中国联合网络通信集团有限公司 | 登录方法、装置及存储介质 |
WO2023104117A1 (zh) * | 2021-12-09 | 2023-06-15 | 中兴通讯股份有限公司 | 资源访问方法、系统、电子设备和计算机可读存储介质 |
CN116865982A (zh) * | 2022-03-22 | 2023-10-10 | 西安即刻易用网络科技有限公司 | 一种应用管理平台及登录认证方法 |
CN117811770A (zh) * | 2023-12-01 | 2024-04-02 | 北京海泰方圆科技股份有限公司 | 一种登录认证方法及装置、电子设备、可读存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100077469A1 (en) * | 2008-09-19 | 2010-03-25 | Michael Furman | Single Sign On Infrastructure |
WO2012095854A1 (en) * | 2011-01-13 | 2012-07-19 | Infosys Technologies Limited | System and method for accessing integrated applications in a single sign-on enabled enterprise solution |
CN105282047A (zh) * | 2015-09-25 | 2016-01-27 | 小米科技有限责任公司 | 访问请求处理方法及装置 |
CN107749855A (zh) * | 2017-10-30 | 2018-03-02 | 武汉烽火信息集成技术有限公司 | 基于客户端的单点登录身份认证方法及系统 |
CN110519240A (zh) * | 2019-08-09 | 2019-11-29 | 浙江大搜车软件技术有限公司 | 一种单点登录方法、装置及系统 |
CN112035822A (zh) * | 2020-08-25 | 2020-12-04 | 北京锐安科技有限公司 | 多应用单点登录方法、装置、设备及存储介质 |
-
2021
- 2021-03-03 CN CN202110236829.1A patent/CN112597472B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100077469A1 (en) * | 2008-09-19 | 2010-03-25 | Michael Furman | Single Sign On Infrastructure |
WO2012095854A1 (en) * | 2011-01-13 | 2012-07-19 | Infosys Technologies Limited | System and method for accessing integrated applications in a single sign-on enabled enterprise solution |
CN105282047A (zh) * | 2015-09-25 | 2016-01-27 | 小米科技有限责任公司 | 访问请求处理方法及装置 |
CN107749855A (zh) * | 2017-10-30 | 2018-03-02 | 武汉烽火信息集成技术有限公司 | 基于客户端的单点登录身份认证方法及系统 |
CN110519240A (zh) * | 2019-08-09 | 2019-11-29 | 浙江大搜车软件技术有限公司 | 一种单点登录方法、装置及系统 |
CN112035822A (zh) * | 2020-08-25 | 2020-12-04 | 北京锐安科技有限公司 | 多应用单点登录方法、装置、设备及存储介质 |
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113271310B (zh) * | 2021-05-25 | 2022-10-11 | 四川虹魔方网络科技有限公司 | 校验及管理请求权限的方法 |
CN113271310A (zh) * | 2021-05-25 | 2021-08-17 | 四川虹魔方网络科技有限公司 | 校验及管理请求权限的方法 |
CN113364798A (zh) * | 2021-06-21 | 2021-09-07 | 浪潮云信息技术股份公司 | 一种基于Redis的用户访问频率处理装置 |
CN113542238A (zh) * | 2021-06-29 | 2021-10-22 | 上海派拉软件股份有限公司 | 一种基于零信任的风险判定方法及系统 |
CN113542238B (zh) * | 2021-06-29 | 2023-06-16 | 上海派拉软件股份有限公司 | 一种基于零信任的风险判定方法及系统 |
CN113468579A (zh) * | 2021-07-23 | 2021-10-01 | 挂号网(杭州)科技有限公司 | 数据访问方法、装置、设备和存储介质 |
CN113722691A (zh) * | 2021-09-14 | 2021-11-30 | 京东科技控股股份有限公司 | 商家数据自助接入实现方法和装置 |
CN113765676A (zh) * | 2021-09-18 | 2021-12-07 | 平安国际智慧城市科技股份有限公司 | 基于用户多身份的接口访问控制方法及相关设备 |
CN113765676B (zh) * | 2021-09-18 | 2024-05-24 | 平安国际智慧城市科技股份有限公司 | 基于用户多身份的接口访问控制方法及相关设备 |
WO2023104117A1 (zh) * | 2021-12-09 | 2023-06-15 | 中兴通讯股份有限公司 | 资源访问方法、系统、电子设备和计算机可读存储介质 |
CN114363091A (zh) * | 2022-03-02 | 2022-04-15 | 工业互联网创新中心(上海)有限公司 | 一种基于apisix实现平台应用统一登录的方法及系统 |
CN114363091B (zh) * | 2022-03-02 | 2022-11-15 | 工业互联网创新中心(上海)有限公司 | 一种基于apisix实现平台应用统一登录的方法及系统 |
CN116865982A (zh) * | 2022-03-22 | 2023-10-10 | 西安即刻易用网络科技有限公司 | 一种应用管理平台及登录认证方法 |
CN115102762A (zh) * | 2022-06-21 | 2022-09-23 | 深圳奇迹智慧网络有限公司 | 单点登录方法、智能终端及可读存储介质 |
CN116032621A (zh) * | 2022-12-30 | 2023-04-28 | 中国联合网络通信集团有限公司 | 前端登录方法、装置、电子设备及介质 |
CN116032621B (zh) * | 2022-12-30 | 2024-05-28 | 中国联合网络通信集团有限公司 | 前端登录方法、装置、电子设备及介质 |
CN116094803A (zh) * | 2023-01-10 | 2023-05-09 | 中国联合网络通信集团有限公司 | 登录方法、装置及存储介质 |
CN116094803B (zh) * | 2023-01-10 | 2024-06-11 | 中国联合网络通信集团有限公司 | 登录方法、装置及存储介质 |
CN117811770A (zh) * | 2023-12-01 | 2024-04-02 | 北京海泰方圆科技股份有限公司 | 一种登录认证方法及装置、电子设备、可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112597472B (zh) | 2021-06-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112597472B (zh) | 单点登录方法、装置及存储介质 | |
CN107172054B (zh) | 一种基于cas的权限认证方法、装置及系统 | |
CN111131242B (zh) | 一种权限控制方法、装置和系统 | |
CN105007280B (zh) | 一种应用登录方法和装置 | |
US8955082B2 (en) | Authenticating using cloud authentication | |
JP6533871B2 (ja) | ウェブアプリケーションへのサインオンを制御するためのシステムおよび方法 | |
CN107277049B (zh) | 一种应用系统的访问方法及装置 | |
CN111416822B (zh) | 访问控制的方法、电子设备和存储介质 | |
CN112995219B (zh) | 一种单点登录方法、装置、设备及存储介质 | |
JP6675163B2 (ja) | 権限委譲システム、認可サーバの制御方法、認可サーバおよびプログラム | |
WO2019147657A1 (en) | Authentication and authorization using tokens with action identification | |
CN106060072B (zh) | 认证方法以及装置 | |
CN105162775A (zh) | 虚拟机登陆方法及装置 | |
CN112118269A (zh) | 一种身份认证方法、系统、计算设备及可读存储介质 | |
US20180218133A1 (en) | Electronic document access validation | |
CN111241523B (zh) | 认证处理方法、装置、设备和存储介质 | |
CN112929388B (zh) | 网络身份跨设备应用快速认证方法和系统、用户代理设备 | |
US11075922B2 (en) | Decentralized method of tracking user login status | |
KR101803535B1 (ko) | 일회용 토큰을 이용한 싱글 사인온 서비스 인증방법 | |
WO2021101871A1 (en) | Server side authentication | |
CN107911379B (zh) | 一种cas服务器 | |
JP6848275B2 (ja) | プログラム、認証システム及び認証連携システム | |
CN109861982A (zh) | 一种身份认证的实现方法及装置 | |
CN115225354A (zh) | 多应用单点登录方法、装置、计算机设备和介质 | |
CN112953951B (zh) | 一种基于国产cpu的用户登录验证和安全性检测方法及系统 |
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 | ||
TR01 | Transfer of patent right |
Effective date of registration: 20230406 Address after: 1804, Building 3, Shenzhen New Generation Industrial Park, 136 Zhongkang Road, Meidu Community, Meilin Street, Futian District, Shenzhen City, Guangdong Province, 518049 Patentee after: Shenzhen Shijie Yuntian Technology Co.,Ltd. Address before: 100012 2508, 25th floor, building 3, yard 19, Beiyuan East Road, Chaoyang District, Beijing Patentee before: Beijing Horizon Yuntian Technology Co.,Ltd. |
|
TR01 | Transfer of patent right |