CN114329387A - 单点登录控制方法、系统、电子设备及计算机可读介质 - Google Patents
单点登录控制方法、系统、电子设备及计算机可读介质 Download PDFInfo
- Publication number
- CN114329387A CN114329387A CN202111640238.7A CN202111640238A CN114329387A CN 114329387 A CN114329387 A CN 114329387A CN 202111640238 A CN202111640238 A CN 202111640238A CN 114329387 A CN114329387 A CN 114329387A
- Authority
- CN
- China
- Prior art keywords
- user
- login
- verification
- request
- information
- 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
- 238000000034 method Methods 0.000 title claims abstract description 60
- 238000012795 verification Methods 0.000 claims abstract description 188
- 238000004590 computer program Methods 0.000 claims description 17
- 230000004044 response Effects 0.000 claims description 8
- 238000012217 deletion Methods 0.000 claims description 4
- 230000037430 deletion Effects 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 19
- 230000008569 process Effects 0.000 description 8
- 230000006870 function Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 230000008520 organization Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 230000009191 jumping Effects 0.000 description 3
- 238000012423 maintenance Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000011217 control strategy Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了单点登录控制方法、系统、电子设备及计算机可读介质,涉及大数据数据访问技术领域。该方法的一具体实施方式包括:接收来自客户端的登录请求,以生成相应的用户登录信息,并查找用户具有访问权限的业务系统,将业务系统返回至客户端;响应于用户对业务系统中目标系统的选择,根据登录请求和目标系统的链接地址,生成跳转请求并发送至目标系统,以使目标系统根据跳转请求,生成反向验证请求;接收来自目标系统的反向验证请求,校验反向验证请求的验证信息与用户登录信息是否一致,得到校验结果并发送至目标系统,以使目标系统确定校验成功,允许用户访问。该方法用户只需记住登录页面的网址和用户信息,就能安全高效访问多个业务系统。
Description
技术领域
本发明涉及大数据数据访问技术领域,尤其涉及一种单点登录控制方法、系统、电子设备及计算机可读介质。
背景技术
B/S结构(Browser/Server,浏览器/服务器模式)是WEB兴起后的一种网络结构模式,拥有成本低、维护方便、分布性强、开发简单,不用安装任何专门的软件就能实现在任何地方进行操作,客户端零维护,系统扩展容易,只要有一台可以上网的电脑就能使用等优点。
随着B/S系统的普及,越来越多的企业建立了自己的B/S系统,且企业在不同发展阶段、不同业务要求可能会建立多个业务系统,而这些业务系统往往各自为政,登录地址复杂多样,用户信息各不相通,用户在使用过程中需要记住纷繁复杂的网址信息以及用户信息,严重制约了用户的办公效率。
发明内容
有鉴于此,本发明实施例提供一种单点登录控制方法、系统、电子设备及计算机可读介质,该方法使用统一的登录入口响应用户的登录请求,并查找该用户具有访问权限的业务系统,以供用户选择目标系统,后续通过两次握手的方式访问目标系统,使得用户只需记住登录页面这一个网址信息和用户信息,就能安全高效访问多个业务系统,提高办公效率。
为实现上述目的,根据本发明实施例的一个方面,提供了一种单点登录控制方法。
本发明实施例的一种单点登录控制方法,包括:通过登录页面接收来自客户端的登录请求,根据所述登录请求,生成相应的用户登录信息,并查找用户具有访问权限的业务系统,将所述业务系统返回至所述客户端;
响应于所述用户对所述业务系统中目标系统的选择,根据所述登录请求和所述目标系统的链接地址,生成跳转请求并发送至所述目标系统,以使所述目标系统根据所述跳转请求,生成反向验证请求;
接收来自所述目标系统的反向验证请求,校验所述反向验证请求的验证信息与所述用户登录信息是否一致,得到校验结果并发送至所述目标系统,以使所述目标系统确定校验成功,允许所述用户访问。
可选地,所述根据所述登录请求和所述目标系统的链接地址,生成跳转请求,包括:
从所述登录请求中提取指定的目标字段,将所述目标字段与用户登录时的登录时间戳进行拼接,得到参数串;
对所述参数串进行加密和编码,得到编码结果,将所述编码结果作为参数添加到所述目标系统的链接地址,得到跳转请求。
可选地,所述目标字段包括用户标识;
所述反向验证请求通过以下方式生成:
对所述跳转请求的参数进行转码和解密;
将解密后得到的用户标识和登录时间戳进行拼接,以生成所述反向验证请求。
可选地,所述生成相应的用户登录信息的步骤之后,所述方法还包括:
将所述用户登录信息保存至数据库;其中,所述用户登录信息包括所述用户标识和所述登录时间戳;
所述校验所述反向验证请求的验证信息与所述用户登录信息是否一致,得到校验结果,包括:
根据所述反向验证请求的用户标识,从所述数据库中查询相同用户标识的登录时间戳;
将查询得到的登录时间戳与解密得到的登录时间戳比较,如果查询得到的登录时间戳与解密得到的登录时间戳一致,则校验成功;否则,校验失败;
所述得到校验结果的步骤之后,所述方法还包括:将所述数据库中所述用户标识对应的登录时间戳删除。
可选地,所述得到校验结果的步骤之后,所述方法还包括:
确定所述校验结果指示校验成功,获取为所述用户配置的用户权限信息;
将所述用户权限信息发送至所述目标系统,以使所述目标系统根据所述用户权限信息进行页面展示。
可选地,所述获取为所述用户配置的用户权限信息的步骤之前,所述方法还包括:
接收为所述用户配置的用户权限信息,建立所述用户的用户基本信息和所述用户权限信息之间的关联关系;其中,所述用户权限信息是根据用户部门、用户级别、用户类型和权限位图中的一个或者多个配置的,所述权限位图用于定义所述用户的菜单权限。
可选地,所述通过登录页面接收来自客户端的登录请求的步骤之前,所述方法还包括:
接收来自所述客户端的验证码获取请求,将所述验证码获取请求转发至短信系统,以使所述短信系统向所述客户端发送验证码;
接收所述短信系统反馈的验证码发送状态,将所述验证码发送状态发送至所述客户端,以使所述用户在填写所述验证码后,提交所述登录请求。
为实现上述目的,根据本发明实施例的另一方面,提供了一种单点登录控制系统。
本发明实施例的一种单点登录控制系统,包括:查找模块,用于通过登录页面接收来自客户端的登录请求,根据所述登录请求,生成相应的用户登录信息,并查找用户具有访问权限的业务系统,将所述业务系统返回至所述客户端;
生成模块,用于响应于所述用户对所述业务系统中目标系统的选择,根据所述登录请求和所述目标系统的链接地址,生成跳转请求并发送至所述目标系统,以使所述目标系统根据所述跳转请求,生成反向验证请求;
校验模块,用于接收来自所述目标系统的反向验证请求,校验所述反向验证请求的验证信息与所述用户登录信息是否一致,得到校验结果并发送至所述目标系统,以使所述目标系统确定校验成功,允许所述用户访问。
可选地,所述生成模块,还用于
从所述登录请求中提取指定的目标字段,将所述目标字段与用户登录时的登录时间戳进行拼接,得到参数串;以及
对所述参数串进行加密和编码,得到编码结果,将所述编码结果作为参数添加到所述目标系统的链接地址,得到跳转请求。
可选地,所述目标字段包括用户标识;
所述反向验证请求通过以下方式生成:
对所述跳转请求的参数进行转码和解密;
将解密后得到的用户标识和登录时间戳进行拼接,以生成所述反向验证请求。
可选地,所述系统还包括:
保存模块,用于将所述用户登录信息保存至数据库;其中,所述用户登录信息包括所述用户标识和所述登录时间戳;
删除模块,用于在得到所述校验结果后,将所述数据库中所述用户标识对应的登录时间戳删除;
所述校验模块,还用于根据所述反向验证请求的用户标识,从所述数据库中查询相同用户标识的登录时间戳;以及
将查询得到的登录时间戳与解密得到的登录时间戳比较,如果查询得到的登录时间戳与解密得到的登录时间戳一致,则校验成功;否则,校验失败。
可选地,所述系统还包括:
权限获取模块,用于确定所述校验结果指示校验成功,获取为所述用户配置的用户权限信息;以及
将所述用户权限信息发送至所述目标系统,以使所述目标系统根据所述用户权限信息进行页面展示。
可选地,所述系统还包括:
建立模块,用于接收为所述用户配置的用户权限信息,建立所述用户的用户基本信息和所述用户权限信息之间的关联关系;其中,所述用户权限信息是根据用户部门、用户级别、用户类型和权限位图中的一个或者多个配置的,所述权限位图用于定义所述用户的菜单权限。
可选地,所述系统还包括:
验证码获取模块,用于接收来自所述客户端的验证码获取请求,将所述验证码获取请求转发至短信系统,以使所述短信系统向所述客户端发送验证码;以及
接收所述短信系统反馈的验证码发送状态,将所述验证码发送状态发送至所述客户端,以使所述用户在填写所述验证码后,提交所述登录请求。
为实现上述目的,根据本发明实施例的又一方面,提供了一种电子设备。
本发明实施例的一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明实施例的一种单点登录控制方法。
为实现上述目的,根据本发明实施例的再一方面,提供了一种计算机可读介质。
本发明实施例的一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现本发明实施例的一种单点登录控制方法。
为实现上述目的,根据本发明实施例的又一方面,提供了一种计算机程序产品。
本发明实施例的一种计算机程序产品,包括计算机程序,所述程序被处理器执行时实现本发明实施例的一种单点登录控制方法。
上述发明中的一个实施例具有如下优点或有益效果:使用统一的登录入口响应用户的登录请求,并查找该用户具有访问权限的业务系统,以供用户选择目标系统,后续通过两次握手的方式访问目标系统,使得用户只需记住登录页面这一个网址信息和用户信息,就能安全高效访问多个业务系统,提高办公效率。通过对跳转至目标系统的链接地址进行加密,防止了敏感信息泄露和恶意篡改。
通过对收到的跳转请求进行转码和解密,得到解密的用户标识和登录时间戳,便于后续进行解密验证。将解密得到的登录时间戳与同一用户登录时保存的登录时间戳进行对比,实现反向验证,保证登录信息的正确性;同时在对比之后,清空保存的登录时间戳,保证跳转链接仅能使用一次。
基于配置的用户权限信息向用户展示页面,使得用户仅能看到并操作自己有权限的页面内容。支持多种权限控制策略,且可以细化到菜单级权限的权限控制,满足业务系统的权限控制需求。以动态验证码的方式请求登录,进一步保证了登录安全,避免暴力破解登录。
上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
图1是本发明实施例的单点登录控制方法的主要步骤的示意图;
图2是本发明实施例的单点登录控制方法的主要流程的示意图;
图3是本发明实施例的用户管理实体示意图;
图4是本发明实施例的使用用户标识和密码进行登录认证的时序图;
图5是本发明实施例的使用手机号和验证码进行登录认证的时序图;
图6是本发明实施例的第一次握手认证的时序图;
图7是本发明实施例的第二次握手认证的时序图;
图8是本发明实施例的单点登录控制系统的主要模块的示意图;
图9是本发明实施例可以应用于其中的示例性系统架构图;
图10是适于用来实现本发明实施例的电子设备的计算机系统的结构示意图。
具体实施方式
以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
本申请技术方案中对数据的获取、存储、使用、处理等均符合国家法律法规的相关规定。
下面对本发明实施例涉及的术语进行解释。
B/S架构:即浏览器和服务器架构模式建立的应用系统。
SMS:英文全称为Short Message Service,意为短信息服务,是一种存储和转发服务。
URL:英文全称为Uniform Resource Locator,意为统一资源定位符。
IP:即Internet Protocol,是网络之间互连的协议。
单点登录:英文全称为Single Sign On,简称为SSO,定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。
图1是本发明实施例的单点登录控制方法的主要步骤的示意图。如图1所示,本发明实施例的单点登录控制方法,由单点登录控制系统实现,主要包括如下步骤:
步骤S101:通过登录页面接收来自客户端的登录请求,根据所述登录请求,生成相应的用户登录信息,并查找用户具有访问权限的业务系统,将所述业务系统返回至所述客户端。用户使用客户端打开登录页面,以向单点登录控制系统发送登录请求。该登录请求可以包括用户标识和密码,也可以是用户标识和验证码。用户标识可以是用户名、手机号等唯一标识。
单点登录控制系统对登录请求进行验证,验证通过后,允许用户登录,并基于登录请求,生成相应的用户登录信息。该用户登录信息可以包括用户标识、登录时间戳,还可以包括客户端地址、服务端地址(即单点登录控制系统的服务器的IP地址)。单点登录控制系统还基于用户标识,查找用户具有访问权限的业务系统,将这些业务系统返回至客户端,以供用户选择其想要登录的系统作为目标系统。
步骤S102:响应于所述用户对所述业务系统中目标系统的选择,根据所述登录请求和所述目标系统的链接地址,生成跳转请求并发送至所述目标系统,以使所述目标系统根据所述跳转请求,生成反向验证请求。用户成功登录单点登录控制系统后,通过系统选择页面选择进入目标系统。单点登录控制系统基于登录请求和目标系统的链接地址,生成跳转请求,用以请求跳转至目标系统。目标系统接收跳转请求,获取请求信息,返回跳转成功信息。至此完成第一次握手认证。
在一优选的实施例中,单点登录控制系统对目标系统的链接地址(URL)进行加密后,再向目标系统发送跳转请求,用于防止敏感信息泄露和恶意篡改。具体地,可以先从登录请求中提取指定的目标字段,将目标字段与登录时间戳进行拼接,得到参数串;之后对参数串进行加密和编码,得到编码结果,将编码结果作为参数添加到目标系统的链接地址,即可得到跳转请求。
步骤S103:接收来自所述目标系统的反向验证请求,校验所述反向验证请求的验证信息与所述用户登录信息是否一致,得到校验结果并发送至所述目标系统,以使所述目标系统确定校验成功,允许所述用户访问。目标系统向单点登录控制系统发送反向验证请求,用于验证用户标识和登录时间戳的合法性。该反向验证请求包括用户标识和登录时间戳。
单点登录控制系统接收到反向验证请求后,校验目标系统发送的用户标识和登录时间戳与用户登录信息中的用户标识和登录时间戳是否一致,并向目标系统反馈校验结果。目标系统基于校验结果,确定校验成功的情况下,与用户的客户端建立会话,允许用户访问;确定校验失败的情况下,返回拒绝页面。至此完成第二次握手认证。
本实施例在保证业务系统原有功能的情况下,建立了一个单点登录控制系统,用户可以以统一的登录地址、唯一的用户信息,安全高效的访问多个业务系统,解决了企业内部多业务系统、多登录方式带来的种种问题,提高了办公效率;同时通过两次握手保证了登录用户的信息安全。
图2是本发明实施例的单点登录控制方法的主要流程的示意图。
如图2所示,本发明实施例的单点登录控制方法,主要包括如下步骤:
步骤S201:接收配置的用户基本信息和用户权限信息,以构建用户管理体系。建立多层次的用户管理体系,包括用户基本信息、用户权限信息,以及用户基本信息和用户权限信息之间的关联关系。
其中,用户基本信息用于保存唯一用户的基础特征信息,可以包括用户标识、机构编号、登录密码、联系方式等,用户标识是登录系统的唯一用户号;机构编号是用户所属机构,用于为不同机构用提供不同权限;登录密码,加密存储,用于用户登录验证;联系方式用于提供手机号验证码的登录方式。
用户权限信息用于保存适用于不同系统权限控制方式的权限信息,可用于提供用户级别、用户部门、用户类型等控制权限,还可以通过权限位图细化控制每个用户具体的菜单权限。实施例中,用户权限信息可以根据用户部门、用户级别、用户类型和权限位图中的一个或者多个配置。比如,用户权限信息包括用户标识、渠道编号、部门编号、用户级别、用户类型和权限位图。
其中,渠道编号是业务系统的唯一编号;部门编号用于区分不同部门用户权限;用户级别用于区分不同级别用户权限;用户类型为业务系统提供不同的用户类型,从而区分不同的用户权限;权限位图用于定义该用户的具体菜单功能权限,权限位图内容可有以下类型:0、无权限;1、查询权限;2、维护权限;3、复核权限等。
图3是本发明实施例的用户管理实体示意图。如图3所示,用户基本信息包括用户名称、机构编号、登录密码、手机号、用户状态等,用户权限信息包括用户级别、用户类型、权限位图等。用户基本信息与用户权限信息之间通过主键(PK)关联。
步骤S202:用户使用客户端向单点登录控制系统发送登录请求,通过单点登录控制系统进行统一的登录认证。登录认证的方式可以是用户标识和密码,也可以是用户绑定的手机号和验证码。
实施例中,设用户为UserA,单点登录控制系统为Channel System,假设企业员工UserA需要访问目标系统System A,则可以通过Channel System进行统一登录认证。下面结合图4和图5对上述两种登录认证方式分别进行说明。
图4是本发明实施例的使用用户标识和密码进行登录认证的时序图。如图4所示,用户使用用户标识和密码进行登录认证的实现流程为:
步骤S401:UserA通过客户端打开统一登录页面,输入用户标识和密码登录Channel System。
步骤S402:Channel System验证UserA提交的用户标识与密码的正确性,验证成功后,允许UserA登录,生成用户登录信息并保存至数据库,加载相应的用户权限信息,确定UserA具有哪些业务系统的访问权限,也即图3中“渠道编号”的权限。用户登录信息包括:用户标识、登录时间戳、客户端地址和服务端地址。
步骤S403:Channel System通过系统选择页面向UserA展示其具有访问权限的业务系统。假设这些业务系统中包括System A,则展示内容包括System A的入口。
图5是本发明实施例的使用手机号和验证码进行登录认证的时序图。如图5所示,用户使用绑定的手机号和验证码进行登录认证的实现流程为:
步骤S501:UserA通过客户端打开统一登录页面,输入自身绑定的手机号,向Channel System发送验证码获取请求。
步骤S502:Channel System接收到来自UserA的验证码获取请求后,将验证码获取请求转发至System SMS(短信系统)。
步骤S503:System SMS向UserA的绑定手机号发送验证码。
步骤S504:System SMS反馈验证码发送状态给Channel System。
步骤S505:Channel System接收到验证码发送状态后,将验证码发送状态发送至UserA。实施例中,Channel System通过页面的形式向UserA展现验证码发送状态。
步骤S506:UserA接收到验证码后,填写验证码,提交登录请求。
步骤S507:Channel System收到验证码后,发送给System SMS判断验证码的正确性。
步骤S508:System SMS将验证码的验证结果返回至Channel System。
步骤S509:Channel System接收到验证结果后,确定验证成功,允许UserA登录,生成用户登录信息并保存至数据库,加载相应的用户权限信息,确定UserA具有哪些业务系统的访问权限,也即图3中“渠道编号”的权限。
步骤S510:Channel System通过系统选择页面向UserA展示其具有访问权限的业务系统。假设这些业务系统中包括System A,则展示内容包括System A的入口。
步骤S203:登录认证通过后,用户登录单点登录控制系统,通过系统选择页面选择有权限访问的目标系统,进行第一次握手认证。UserA成功登录Channel System后,基于Channel System返回的系统选择页面,从其具有访问权限的业务系统中选择目标系统System A,之后进行第一次握手认证。
图6是本发明实施例的第一次握手认证的时序图。如图6所示,本发明实施例的第一次握手认证的实现流程为:
步骤S601:UserA通过系统选择页面选择进入System A。
步骤S602:Channel System加密System A的URL入口,得到跳转请求,将跳转请求发送至System A。具体地,从登录请求中提取指定的目标字段,将目标字段与用户登录时的登录时间戳进行拼接,得到参数串;之后对参数串进行加密和编码,得到编码结果,将编码结果作为参数添加到目标系统的链接地址,得到跳转请求。
实施例中,目标字段为用户标识(USERID)、渠道编号(CHNAl_NO)、服务端地址(IP)和端口(PORT)。将登录时间戳用TIMESTAMP表示,则可使用连接符,比如“&”拼接目标字段和登录时间戳,得到参数串。此时,参数串如下:
USERID=001&TIMESTAMP=20131108142213301&CHNAL_NO=15&IP=XXX.XXX.XXX.XXX&PORT=7001
使用加密算法对上述参数串加密,加密算法可以任选,比如为:
urlDisturb ud=new urlDisturb();
String strEncode=new String(ud.encode(参数串.getBytes()));
经加密后,还可以对加密串编码,防止加密串中的特殊字符被浏览器转码后无法解密。实施例中,使用URLEncoder编码方式编码:
strURLEncode=URLEncoder.encode(strEncode)
最终得到的跳转请求可以为:
http://System A IP:PORT/System A_WEB/loginAction.do?PARAM=strURLEncode
步骤S603:System A接收到跳转请求后,解密跳转请求,获取请求信息。按照加密、编码的逆过程,对跳转请求的参数(PARAM)进行转码和解密。以使用URLEncoder编码为例,需使用URLDecoder方式转码:
strURLDecode=URLDecoder.decode(strURLEncode)
之后使用相应的解密算法对转码结果进行解密,解密算法比如为:
urlDisturb ud=new urlDisturb();
String deUrl=new String(ud.decode(strURLDecode.getBytes()));
步骤S604:System A向Channel System反馈跳转成功的响应信息。
步骤S204:目标系统回调获取用户管理体系的用户权限信息,进行第二次握手认证。System A接收到跳转请求后,再次向Channel System发起反向验证,验证用户登录信息的合法性,并获取用户权限信息。
图7是本发明实施例的第二次握手认证的时序图。如图7所示,本发明实施例的第二次握手认证的实现流程为:
步骤S701:System A向Channel System发起反向验证请求,用以验证USERID和TIMESTAMP的合法性。System A将解密所得的用户标识、登录时间戳(还可以包括渠道编号)拼接为反向验证请求,根据服务端地址,反向调用Channel System。
实施例中,反向验证请求的请求格式可以为:http://Channel System_ip:port/svcManager/UserSingleLoginServlet?xml=xml格式报文
步骤S702:Channel System验证从System A发送的用户标识、登录时间戳与数据库中保存的用户登录信息是否一致。由图4和图5可知,用户点击Channel System跳转至System A时,已经将用户登录信息保存到了数据库。
Channel System根据反向验证请求的用户标识,从数据库中查询相同用户标识的登录时间戳;之后将查询得到的登录时间戳与System A返回的解密得到的登录时间戳比较,如果查询得到的登录时间戳与解密得到的登录时间戳一致,则校验成功;否则,校验失败。
步骤S703:Channel System返回验证结果至System A,并在确认验证成功的情况下,同时返回用户权限信息。如果校验成功,则获取为UserA配置的用户权限信息,将该用户权限信息发送至System A。如果校验失败,则返回错误报文至System A。之后将数据库中该用户标识对应的登录时间戳删除,以保证跳转链接只能使用一次。
步骤S704:System A接收到验证结果后,如果验证结果指示验证成功,则与UserA建立会话,并根据用户权限信息展现相关功能;如果验证结果指示验证失败,则返回拒绝页面。
从以上描述可以看出,本实施例建立了一个单点登录控制系统,该系统使用统一的登录入口,建立了统一的用户管理体系,用户只需要记住单点登录控制系统的用户密码即可,不用记忆多套业务系统的用户密码,严重降低了用户的负担;同时支持多种权限控制策略,支持区分机构、机构层级、部门、用户类型,也可以细化到菜单级权限控制,能够适配大部分业务系统的权限控制需求;同时通过两次握手和加密编码,保证了登录用户的信息安全。
图8是本发明实施例的单点登录控制系统的主要模块的示意图。如图8所示,本发明实施例的单点登录控制系统800,主要包括:
查找模块801,用于通过登录页面接收来自客户端的登录请求,根据所述登录请求,生成相应的用户登录信息,并查找用户具有访问权限的业务系统,将所述业务系统返回至所述客户端。用户使用客户端打开登录页面,以向单点登录控制系统发送登录请求。该登录请求可以包括用户标识和密码,也可以是用户标识和验证码。用户标识可以是用户名、手机号等唯一标识。
单点登录控制系统对登录请求进行验证,验证通过后,允许用户登录,并基于登录请求,生成相应的用户登录信息。该用户登录信息可以包括用户标识、登录时间戳,还可以包括客户端地址、服务端地址。单点登录控制系统还基于用户标识,查找用户具有访问权限的业务系统,将这些业务系统返回至客户端,以供用户选择其想要登录的系统作为目标系统。
生成模块802,用于响应于所述用户对所述业务系统中目标系统的选择,根据所述登录请求和所述目标系统的链接地址,生成跳转请求并发送至所述目标系统,以使所述目标系统根据所述跳转请求,生成反向验证请求。
用户成功登录单点登录控制系统后,通过系统选择页面选择进入目标系统。单点登录控制系统基于登录请求和目标系统的链接地址,生成跳转请求,用以请求跳转至目标系统。目标系统接收跳转请求,获取请求信息,返回跳转成功信息。至此完成第一次握手认证。
校验模块803,用于接收来自所述目标系统的反向验证请求,校验所述反向验证请求的验证信息与所述用户登录信息是否一致,得到校验结果并发送至所述目标系统,以使所述目标系统确定校验成功,允许所述用户访问。目标系统向单点登录控制系统发送反向验证请求,用于验证用户标识和登录时间戳的合法性。该反向验证请求包括用户标识和登录时间戳。
单点登录控制系统接收到反向验证请求后,校验目标系统发送的用户标识和登录时间戳与用户登录信息中的用户标识和登录时间戳是否一致,并向目标系统反馈校验结果。目标系统基于校验结果,确定校验成功的情况下,与用户的客户端建立会话,允许用户访问;确定校验失败的情况下,返回拒绝页面。至此完成第二次握手认证。
另外,本发明实施例的单点登录控制系统800还可以包括:保存模块、删除模块、权限获取模块、建立模块和验证码获取模块(图8中未示出)。其中,保存模块,用于将所述用户登录信息保存至数据库;其中,所述用户登录信息包括所述用户标识和所述登录时间戳。删除模块,用于在得到所述校验结果后,将所述数据库中所述用户标识对应的登录时间戳删除。
权限获取模块,用于确定所述校验结果指示校验成功,获取为所述用户配置的用户权限信息;以及将所述用户权限信息发送至所述目标系统,以使所述目标系统根据所述用户权限信息进行页面展示。
建立模块,用于接收为所述用户配置的用户权限信息,建立所述用户的用户基本信息和所述用户权限信息之间的关联关系;其中,所述用户权限信息是根据用户部门、用户级别、用户类型和权限位图中的一个或者多个配置的,所述权限位图用于定义所述用户的菜单权限。
验证码获取模块,用于接收来自所述客户端的验证码获取请求,将所述验证码获取请求转发至短信系统,以使所述短信系统向所述客户端发送验证码;以及接收所述短信系统反馈的验证码发送状态,将所述验证码发送状态发送至所述客户端,以使所述用户在填写所述验证码后,提交所述登录请求。
从以上描述可以看出,使用统一的登录入口响应用户的登录请求,并查找该用户具有访问权限的业务系统,以供用户选择目标系统,后续通过两次握手的方式访问目标系统,使得用户只需记住一个网址信息和用户信息,就能安全高效访问多个业务系统,提高办公效率。通过对跳转至目标系统的链接地址进行加密,防止了敏感信息泄露和恶意篡改。
图9示出了可以应用本发明实施例的单点登录控制方法或单点登录控制系统的示例性系统架构900。
如图9所示,系统架构900可以包括终端设备901、902、903,网络904和服务器905。网络904用以在终端设备901、902、903和服务器905之间提供通信链路的介质。用户可以使用终端设备901、902、903通过网络904与服务器905交互,以接收或发送消息等。
服务器905可以是提供各种服务的服务器,例如对用户利用终端设备901、902、903所发送的登录请求提供支持的后台管理服务器。后台管理服务器可以对生成用户登录信息,返回用户有权限的业务系统,生成跳转请求,校验信息是否一致等处理,并将处理结果(例如校验结果)反馈给终端设备。
需要说明的是,本发明实施例所提供的单点登录控制方法一般由服务器905执行,相应地,单点登录控制系统一般设置于服务器905中。
应该理解,图9中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
根据本发明的实施例,本发明还提供了一种电子设备、一种计算机可读介质和一种计算机程序产品。
本发明的电子设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明实施例的一种单点登录控制方法。
本发明的计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现本发明实施例的一种单点登录控制方法。
本发明的计算机程序产品,包括计算机程序,所述程序被处理器执行时实现本发明实施例的一种单点登录控制方法。
下面参考图10,其示出了适于用来实现本发明实施例的电子设备的计算机系统1000的结构示意图。图10示出的终端设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图10所示,计算机系统1000包括中央处理单元(CPU)1001,其可以根据存储在只读存储器(ROM)1002中的程序或者从存储部分1008加载到随机访问存储器(RAM)1003中的程序而执行各种适当的动作和处理。在RAM 1003中,还存储有系统1000操作所需的各种程序和数据。CPU 1001、ROM 1002以及RAM 1003通过总线1004彼此相连。输入/输出(I/O)接口1005也连接至总线1004。
以下部件连接至I/O接口1005:包括键盘、鼠标等的输入部分1006;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分1007;包括硬盘等的存储部分1008;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分1009。通信部分1009经由诸如因特网的网络执行通信处理。驱动器1010也根据需要连接至I/O接口1005。可拆卸介质1011,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1010上,以便于从其上读出的计算机程序根据需要被安装入存储部分1008。
特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分1009从网络上被下载和安装,和/或从可拆卸介质1011被安装。在该计算机程序被中央处理单元(CPU)1001执行时,执行本发明的系统中限定的上述功能。
描述于本发明实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块也可以设置在处理器中,例如,可以描述为:一种处理器包括查找模块、生成模块和校验模块。其中,这些模块的名称在某种情况下并不构成对该模块本身的限定,例如,查找模块还可以被描述为“接收来自客户端的登录请求,根据所述登录请求,生成相应的用户登录信息,并查找用户具有访问权限的业务系统,将所述业务系统返回至所述客户端的模块”。
作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备包括:接收来自客户端的登录请求,根据所述登录请求,生成相应的用户登录信息,并查找用户具有访问权限的业务系统,将所述业务系统返回至所述客户端;响应于所述用户对所述业务系统中目标系统的选择,根据所述登录请求和所述目标系统的链接地址,生成跳转请求并发送至所述目标系统,以使所述目标系统根据所述跳转请求,生成反向验证请求;接收来自所述目标系统的反向验证请求,校验所述反向验证请求的验证信息与所述用户登录信息是否一致,得到校验结果并发送至所述目标系统,以使所述目标系统确定校验成功,允许所述用户访问。
根据本发明实施例的技术方案,使用统一的登录入口响应用户的登录请求,并查找该用户具有访问权限的业务系统,以供用户选择目标系统,后续通过两次握手的方式访问目标系统,使得用户只需记住登录页面这一个网址信息和用户信息,就能安全高效访问多个业务系统,提高办公效率。通过对跳转至目标系统的链接地址进行加密,防止了敏感信息泄露和恶意篡改。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
Claims (17)
1.一种单点登录控制方法,其特征在于,包括:
通过登录页面接收来自客户端的登录请求,根据所述登录请求,生成相应的用户登录信息,并查找用户具有访问权限的业务系统,将所述业务系统返回至所述客户端;
响应于所述用户对所述业务系统中目标系统的选择,根据所述登录请求和所述目标系统的链接地址,生成跳转请求并发送至所述目标系统,以使所述目标系统根据所述跳转请求,生成反向验证请求;
接收来自所述目标系统的反向验证请求,校验所述反向验证请求的验证信息与所述用户登录信息是否一致,得到校验结果并发送至所述目标系统,以使所述目标系统确定校验成功,允许所述用户访问。
2.根据权利要求1所述的方法,其特征在于,所述根据所述登录请求和所述目标系统的链接地址,生成跳转请求,包括:
从所述登录请求中提取指定的目标字段,将所述目标字段与用户登录时的登录时间戳进行拼接,得到参数串;
对所述参数串进行加密和编码,得到编码结果,将所述编码结果作为参数添加到所述目标系统的链接地址,得到跳转请求。
3.根据权利要求2所述的方法,其特征在于,所述目标字段包括用户标识;
所述反向验证请求通过以下方式生成:
对所述跳转请求的参数进行转码和解密;
将解密后得到的用户标识和登录时间戳进行拼接,以生成所述反向验证请求。
4.根据权利要求3所述的方法,其特征在于,所述生成相应的用户登录信息的步骤之后,所述方法还包括:
将所述用户登录信息保存至数据库;其中,所述用户登录信息包括所述用户标识和所述登录时间戳;
所述校验所述反向验证请求的验证信息与所述用户登录信息是否一致,得到校验结果,包括:
根据所述反向验证请求的用户标识,从所述数据库中查询相同用户标识的登录时间戳;
将查询得到的登录时间戳与解密得到的登录时间戳比较,如果查询得到的登录时间戳与解密得到的登录时间戳一致,则校验成功;否则,校验失败;
所述得到校验结果的步骤之后,所述方法还包括:将所述数据库中所述用户标识对应的登录时间戳删除。
5.根据权利要求1所述的方法,其特征在于,所述得到校验结果的步骤之后,所述方法还包括:
确定所述校验结果指示校验成功,获取为所述用户配置的用户权限信息;
将所述用户权限信息发送至所述目标系统,以使所述目标系统根据所述用户权限信息进行页面展示。
6.根据权利要求5所述的方法,其特征在于,所述获取为所述用户配置的用户权限信息的步骤之前,所述方法还包括:
接收为所述用户配置的用户权限信息,建立所述用户的用户基本信息和所述用户权限信息之间的关联关系;其中,所述用户权限信息是根据用户部门、用户级别、用户类型和权限位图中的一个或者多个配置的,所述权限位图用于定义所述用户的菜单权限。
7.根据权利要求1至6任一项所述的方法,其特征在于,所述通过登录页面接收来自客户端的登录请求的步骤之前,所述方法还包括:
接收来自所述客户端的验证码获取请求,将所述验证码获取请求转发至短信系统,以使所述短信系统向所述客户端发送验证码;
接收所述短信系统反馈的验证码发送状态,将所述验证码发送状态发送至所述客户端,以使所述用户在填写所述验证码后,提交所述登录请求。
8.一种单点登录控制系统,其特征在于,包括:
查找模块,用于通过登录页面接收来自客户端的登录请求,根据所述登录请求,生成相应的用户登录信息,并查找用户具有访问权限的业务系统,将所述业务系统返回至所述客户端;
生成模块,用于响应于所述用户对所述业务系统中目标系统的选择,根据所述登录请求和所述目标系统的链接地址,生成跳转请求并发送至所述目标系统,以使所述目标系统根据所述跳转请求,生成反向验证请求;
校验模块,用于接收来自所述目标系统的反向验证请求,校验所述反向验证请求的验证信息与所述用户登录信息是否一致,得到校验结果并发送至所述目标系统,以使所述目标系统确定校验成功,允许所述用户访问。
9.根据权利要求8所述的系统,其特征在于,所述生成模块,还用于
从所述登录请求中提取指定的目标字段,将所述目标字段与用户登录时的登录时间戳进行拼接,得到参数串;以及
对所述参数串进行加密和编码,得到编码结果,将所述编码结果作为参数添加到所述目标系统的链接地址,得到跳转请求。
10.根据权利要求9所述的系统,其特征在于,所述目标字段包括用户标识;
所述反向验证请求通过以下方式生成:
对所述跳转请求的参数进行转码和解密;
将解密后得到的用户标识和登录时间戳进行拼接,以生成所述反向验证请求。
11.根据权利要求10所述的系统,其特征在于,所述系统还包括:
保存模块,用于将所述用户登录信息保存至数据库;其中,所述用户登录信息包括所述用户标识和所述登录时间戳;
删除模块,用于在得到所述校验结果后,将所述数据库中所述用户标识对应的登录时间戳删除;
所述校验模块,还用于根据所述反向验证请求的用户标识,从所述数据库中查询相同用户标识的登录时间戳;以及
将查询得到的登录时间戳与解密得到的登录时间戳比较,如果查询得到的登录时间戳与解密得到的登录时间戳一致,则校验成功;否则,校验失败。
12.根据权利要求8所述的系统,其特征在于,所述系统还包括:
权限获取模块,用于确定所述校验结果指示校验成功,获取为所述用户配置的用户权限信息;以及
将所述用户权限信息发送至所述目标系统,以使所述目标系统根据所述用户权限信息进行页面展示。
13.根据权利要求12所述的系统,其特征在于,所述系统还包括:
建立模块,用于接收为所述用户配置的用户权限信息,建立所述用户的用户基本信息和所述用户权限信息之间的关联关系;其中,所述用户权限信息是根据用户部门、用户级别、用户类型和权限位图中的一个或者多个配置的,所述权限位图用于定义所述用户的菜单权限。
14.根据权利要求8至13任一项所述的系统,其特征在于,所述系统还包括:
验证码获取模块,用于接收来自所述客户端的验证码获取请求,将所述验证码获取请求转发至短信系统,以使所述短信系统向所述客户端发送验证码;以及
接收所述短信系统反馈的验证码发送状态,将所述验证码发送状态发送至所述客户端,以使所述用户在填写所述验证码后,提交所述登录请求。
15.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7中任一所述的方法。
16.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-7中任一所述的方法。
17.一种计算机程序产品,包括计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-7中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111640238.7A CN114329387A (zh) | 2021-12-29 | 2021-12-29 | 单点登录控制方法、系统、电子设备及计算机可读介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111640238.7A CN114329387A (zh) | 2021-12-29 | 2021-12-29 | 单点登录控制方法、系统、电子设备及计算机可读介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114329387A true CN114329387A (zh) | 2022-04-12 |
Family
ID=81017791
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111640238.7A Pending CN114329387A (zh) | 2021-12-29 | 2021-12-29 | 单点登录控制方法、系统、电子设备及计算机可读介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114329387A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115102765A (zh) * | 2022-06-22 | 2022-09-23 | 北京声智科技有限公司 | 一种权限配置方法、装置、电子设备及存储介质 |
CN115297346A (zh) * | 2022-06-30 | 2022-11-04 | 贵阳朗玛视讯科技有限公司 | 一种基于epg系统的多应用间鉴权方法和装置 |
CN115865463A (zh) * | 2022-11-28 | 2023-03-28 | 数字泸州产业投资集团有限公司 | 一种基于智慧治理云平台的统一用户体系方法及系统 |
CN115884110A (zh) * | 2022-12-01 | 2023-03-31 | 南京鼎山信息科技有限公司 | 短信验证码的判断方法及系统 |
CN116361753A (zh) * | 2023-03-17 | 2023-06-30 | 深圳市东信时代信息技术有限公司 | 权限认证方法、装置、设备及介质 |
CN117811817A (zh) * | 2023-12-29 | 2024-04-02 | 北京仁光科技有限公司 | 登录校验方法和系统 |
CN119442209A (zh) * | 2024-09-09 | 2025-02-14 | 农信银资金清算中心有限责任公司 | 一种基于时间戳加密的单点登录访问方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102420836A (zh) * | 2012-01-12 | 2012-04-18 | 中国电子科技集团公司第十五研究所 | 业务信息系统的登录方法以及登录管理系统 |
CN106330829A (zh) * | 2015-06-26 | 2017-01-11 | 东方电气集团东方电机有限公司 | 一种采用中间件实现单点登录的方法和系统 |
CN107395614A (zh) * | 2017-08-09 | 2017-11-24 | 深圳国泰安教育技术股份有限公司 | 单点登录方法及系统 |
-
2021
- 2021-12-29 CN CN202111640238.7A patent/CN114329387A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102420836A (zh) * | 2012-01-12 | 2012-04-18 | 中国电子科技集团公司第十五研究所 | 业务信息系统的登录方法以及登录管理系统 |
CN106330829A (zh) * | 2015-06-26 | 2017-01-11 | 东方电气集团东方电机有限公司 | 一种采用中间件实现单点登录的方法和系统 |
CN107395614A (zh) * | 2017-08-09 | 2017-11-24 | 深圳国泰安教育技术股份有限公司 | 单点登录方法及系统 |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115102765A (zh) * | 2022-06-22 | 2022-09-23 | 北京声智科技有限公司 | 一种权限配置方法、装置、电子设备及存储介质 |
CN115297346A (zh) * | 2022-06-30 | 2022-11-04 | 贵阳朗玛视讯科技有限公司 | 一种基于epg系统的多应用间鉴权方法和装置 |
CN115297346B (zh) * | 2022-06-30 | 2023-08-25 | 贵阳朗玛视讯科技有限公司 | 一种基于epg系统的多应用间鉴权方法和装置 |
CN115865463A (zh) * | 2022-11-28 | 2023-03-28 | 数字泸州产业投资集团有限公司 | 一种基于智慧治理云平台的统一用户体系方法及系统 |
CN115884110A (zh) * | 2022-12-01 | 2023-03-31 | 南京鼎山信息科技有限公司 | 短信验证码的判断方法及系统 |
CN115884110B (zh) * | 2022-12-01 | 2023-11-28 | 南京鼎山信息科技有限公司 | 短信验证码的判断方法及系统 |
CN116361753A (zh) * | 2023-03-17 | 2023-06-30 | 深圳市东信时代信息技术有限公司 | 权限认证方法、装置、设备及介质 |
CN116361753B (zh) * | 2023-03-17 | 2024-03-22 | 深圳市东信时代信息技术有限公司 | 权限认证方法、装置、设备及介质 |
CN117811817A (zh) * | 2023-12-29 | 2024-04-02 | 北京仁光科技有限公司 | 登录校验方法和系统 |
CN119442209A (zh) * | 2024-09-09 | 2025-02-14 | 农信银资金清算中心有限责任公司 | 一种基于时间戳加密的单点登录访问方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114329387A (zh) | 单点登录控制方法、系统、电子设备及计算机可读介质 | |
US9607143B2 (en) | Provisioning account credentials via a trusted channel | |
CN113347206B (zh) | 一种网络访问方法和装置 | |
CN112039826B (zh) | 应用于小程序端的登录方法和装置,电子设备,可读介质 | |
US6629246B1 (en) | Single sign-on for a network system that includes multiple separately-controlled restricted access resources | |
US8819253B2 (en) | Network message generation for automated authentication | |
CN111355726B (zh) | 一种身份授权登录方法、装置及电子设备和存储介质 | |
US9485246B2 (en) | Distributed authentication with data cloud | |
US11714693B2 (en) | Data driven API conversion | |
US20220255914A1 (en) | Identity information linking | |
US20100154041A1 (en) | Transforming claim based identities to credential based identities | |
CN113411324B (zh) | 基于cas与第三方服务器实现登录认证的方法和系统 | |
CN104954330A (zh) | 一种对数据资源进行访问的方法、装置和系统 | |
JP2023532976A (ja) | ユーザの身元の検証のための方法およびシステム | |
CN112560003A (zh) | 用户权限管理方法和装置 | |
CN104901951B (zh) | 一种Web应用中基于移动终端的密码数据处理与交互方法 | |
CN114553570B (zh) | 生成令牌的方法、装置、电子设备及存储介质 | |
CN116527341A (zh) | 一种客户端调用后端接口鉴权授权安全方法 | |
CN114338078B (zh) | 一种cs客户端登录方法及装置 | |
CN113765876B (zh) | 报表处理软件的访问方法和装置 | |
CN114548035A (zh) | 文档在线预览方法、装置及设备 | |
CN114491435A (zh) | 一种基于工业互联网平台的安全访问方法及设备 | |
JP2022188998A (ja) | 本人認証システム及び本人認証方法 | |
CN116112172B (zh) | Android客户端gRPC接口安全校验的方法和装置 | |
CN116346486A (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 |