一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

多租户系统的登录方法及装置与流程

2022-02-20 04:26:21 来源:中国专利 TAG:


1.本公开涉及数据处理技术领域,具体涉及到一种多租户系统的登录方法及装置。


背景技术:

2.多租户技术(英语:multi-tenancy technology)或称多重租赁技术,是一种软件架构技术,它是在探讨与实现如何于多用户的环境下共用相同的系统或程序组件,并且仍可确保各用户间数据的隔离性。
3.相关技术中,多租户系统的登录通常通过分别登录各个租户系统并由各个租户系统进行登录校验的方式,采用该方式登录安全性差,登录效率低,各个租户系统的计算资源耗费比较大。


技术实现要素:

4.本公开的主要目的在于提供一种多租户系统的登录方法及装置。
5.为了实现上述目的,根据本公开的第一方面,提供了一种多租户系统的登录方法及装置,包括:响应于接收到用户对多租户系统中的任一租户系统进行访问的请求,对所述请求进行解析,得到所述请求包含的标识信息;基于为所述任一租户系统预配置的标识信息,对所述请求包含的标识信息进行一致性校验,得到校验结果;如果所述校验结果指示校验一致,则生成认证令牌,以通过所述认证令牌访问所述任一租户系统。
6.可选地,方法还包括:基于所述认证令牌,判断所述用户在当前是否具有对所述任一租户系统进行访问的权限;和/或,基于所述认证令牌,判断所述用户在当前是否具有对多租户系统中的其他租户系统进行访问的权限。
7.可选地,基于所述认证令牌,判断所述用户在当前是否具有对所述任一租户系统进行访问的权限包括:响应于接收到用户对所述任一租户系统进行再次访问的请求,判断所述任一租户系统是否已创建会话控制;基于所述判断结果,确定所述目标用户对所述任一租户系统的当前访问权限。
8.可选地,方法还包括:基于所述判断结果,对所述认证令牌进行校验,以确定所述目标用户对所述任一租户系统的当前访问权限。
9.可选地,基于所述认证令牌,判断所述用户在当前是否具有对多租户系统中的其他租户系统进行访问的权限包括:响应于接收到所述用户对多租户系统的其他租户系统进行访问的请求,确定缓存中是否存储有与所述用户相对应的认证令牌;如果存储有与所述用户相对应的认证令牌,对所述认证令牌进行校验,以基于所述校验结果确定所述用户对所述其他租户系统的访问权限。
10.可选地,方法还包括:如果缓存中未存储有与所述用户相对应的认证令牌,对请求进行解析,得到所述请求包含的第一标识信息;对所述第一标识信息进行校验,得到第一校验结果;如果所述第一校验结果指示校验成功,生成第一认证令牌,以用于访问所述其他租户系统。
11.根据本公开的第二方面,提供了一种单点登录装置,包括:响应单元,被配置成响应于接收到用户对多租户系统中的任一租户系统进行访问的请求,对所述请求进行解析,得到所述请求包含的标识信息;校验单元,被配置成对所述标识信息进行校验,得到校验结果;登录单元,被配置成如果所述校验结果指示校验成功,生成认证令牌,以用于访问所述任一租户系统。
12.可选地,装置还包括:第一判断单元,被配置成基于所述认证令牌,判断所述用户在当前是否具有对所述任一租户系统进行访问的权限;和/或,第二判断单元,被配置成基于所述认证令牌,判断所述用户在当前是否具有对多租户系统中的其他租户系统进行访问的权限。
13.根据本公开的第三方面,提供了一种计算机可读存储介质,存储有计算机指令,所述计算机指令用于使所述计算机执行第一方面任意一项可选方式中的多租户系统的登录方法。
14.根据本公开的第四方面,提供了一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器执行第一方面任意一项可选方式中的多租户系统的登录方法。
15.在本公开实施例多租户系统的登录方法及装置中,包括:响应于接收到用户对多租户系统中的任一租户系统进行访问的请求,对请求进行解析,得到请求包含的标识信息;基于为所述任一租户系统预配置的标识信息,对所述请求包含的标识信息进行一致性校验,得到校验结果;如果所述校验结果指示校验一致,则生成认证令牌,以通过所述认证令牌访问所述任一租户系统、和/或所述多租户系统中的其他租户系统。通过对请求中的标识信息进行校验,如果校验成功,则生成跨租户的登录的认证令牌,通过生成该认证令牌可以实现多租户系统的单点登录,提高了登录的安全性以及登录效率,进而解决了相关技术中登录效率低、安全性差的技术问题。
附图说明
16.为了更清楚地说明本公开具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本公开的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
17.图1是根据本公开实施例的多租户系统的登录方法流程图;
18.图2是根据本公开实施例的多租户系统的登录装置的结构示意图;
19.图3是根据本公开实施例的电子设备的示意图。
具体实施方式
20.为了使本技术领域的人员更好地理解本公开方案,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分的实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本公开保护的范
围。
21.需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
22.需要说明的是,在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本公开。
23.根据本公开实施例,提供了一种多租户系统的登录方法,如图1所示,该方法包括如下的步骤101至步骤103:
24.步骤101:响应于接收到用户对多租户系统中的任一租户系统进行访问的请求,对所述请求进行解析,得到所述请求包含的标识信息。
25.在本实施例中,可以预先将各个租户系统、与各个租户系统所属企业的标识信息进行关联,也即为各个租户系统配置企业标识信息,而后基于该标识信息为企业的用户生成登录用信息。可以实现以企业为单位,统一对企业中用户的登录信息进行管理。用户可通过用户端的邮箱或手机号登录完成登录认证后,向该租户系统发起访问请求。
26.如果第一次访问多租户系统中的任一租户系统,那么当接收到任一企业中的用户对多租户系统中的任一租户系统进行访问的请求后,对该请求包含的信息进行解析,得到该请求中包含的标识信息,该标识信息可以是企业标识信息,一个或者多个租户系统可以对应一个企业标识信息。
27.示例性地,在步骤101之前,还可以预先配置企业实体信息,一个企业实体对应现实中的一个使用租户系统的企业。配置业务系统,一个企业往往有一到多个业务系统(业务系统可以是租户系统,也可以是其他类型的系统)。配置账号实体,账号的认证标识可以是:手机号、邮箱等;账号的创建可以通过以下三种途径:业务系统的管理员通过邮箱发起邀请,用户收到邀请邮件后点击激活链接完成激活;业务系统的管理员通过手机号发起邀请,用户收到邀请短信后,直接使用手机号登录该业务系统即完成激活(第一次访问业务系统需要手机号获取短信验证码进行验证)。通过上述配置可以实现租户系统与企业的对应关系映射;以及用户与用户登录账号对应关系的映射。
28.步骤102:基于为所述任一租户系统预配置的标识信息,对所述请求包含的标识信息进行一致性校验,得到校验结果。
29.在本实施例中,可以通企业标识信息,对请求登录的用户是否是企业的合法用户进行校验,可以将请求包含的企业标识信息、与待被访问租户系统预先配置的企业标识信息进行比对,得到校验一致,或者校验不一致的结果。如果校验一致则证明该访问用户所属企业与待被访问租户系统所属的企业是同一企业,该用户是合法用户;否则为不合法用户。
30.例如,用户请求登录某一租户系统,那么在获取到请求中的标识信息后,判断如果该标识信息与请求访问的租户系统的企业标识信息一致,则检验通过;如果该标识信息与请求访问的租户系统的企业标识信息不一致,则校验不通过,则继续由用户通过用户端重新发送请求。
31.步骤103:如果所述校验结果指示校验一致,则生成认证令牌,以通过所述认证令牌访问所述任一租户系统、和/或所述多租户系统中其他租户系统。
32.在本实施例中,如果步骤102中校验结果为校验一致,那么可以同时生成可用于访问租户系统的认证令牌。本实施的方法生成的认证令牌可以用于对具有同一企业标识信息的不同租户系统进行访问,可以是每请求访问一个租户系统,则通过校验该认证令牌实现用户对不同租户系统的访问。在生成认证令牌后可以将认证令牌存储至缓存中,以用于用户访问其他租户系统时验证用户是否是其他租户系统的合法用户。
33.令牌可以包括用于认证用户(企业中的用户身份)的令牌u_token、以及认证企业的令牌c_token。在本实施中也可以按需只生成认证用户的令牌u_token,或者只生成认证企业的令牌c_token。。
34.本实施例通过标识信息校验可以初步判断登录用户的合法性,提高登录安全性,进一步通过生成认证令牌的登录方式,可以实现多租户系统的单点登录,提高多租户系统的登录效率和以及进一步提高登录的安全性。
35.作为本实施例一种可选的实现方式,方法还包括:基于所述认证令牌,判断所述用户在当前是否具有对所述任一租户系统进行访问的权限;和/或,基于所述认证令牌,判断所述用户在当前是否具有对多租户系统中的其他租户系统进行访问的权限。
36.在本可选的实现方式中,当用户访问过任一租户系统ta后,再次(第一次访问后的任一次)对访问过的租户系统ta进行访问时,则本方法的执行主体判断该用户在当前是否具有该访问过的租户系统ta的访问权限。
37.当用户访问过任一租户系统后,访问其他租户系统时,执行主体也判断该用户在当前对其他租户系统是否具有访问权限。
38.作为本实施例一种可选的实现方式,基于所述认证令牌,判断所述用户在当前是否具有对所述任一租户系统进行访问的权限包括:响应于接收到用户对所述任一租户系统进行再次访问的请求,判断所述任一租户系统是否已创建会话控制;基于所述判断结果,确定所述目标用户对所述任一租户系统的当前访问权限。
39.在本可选的实现方式中,执行主体可以实时接收用户通过用户端发送的访问请求,如果确定该用户非第一次访问多租户系统,那么可以通过该请求确定其访问目标,如果确定该访问目标是访问过的租户系统,例如ta,那么此情形即为用户再次访问被访问过的租户系统。
40.当用户访问过租户系统ta后,租户系统ta可以根据u_token创建会话控制session以保持用户的访问状态。因此当用户再次请求对访问过的租户系统ta进行访问时,执行主体判断该租户系统是否已建立会话控制,如果已建立,则可以直接再次访问该租户系统。
41.作为本实施例一种可选的实现方式,方法还包括:基于所述判断结果,对所述认证令牌进行校验,以确定所述目标用户对所述任一租户系统的当前访问权限。
42.在本可选的实现方式中,当用户访问过租户系统ta后,租户系统ta可以根据u_token创建会话控制session。因此当用户再次请求对访问过的租户系统ta进行访问时,判断该租户系统是否已建立会话控制,如果已建立,则对用户认证令牌u_token进行检验,以校验该用户是否具有访问租户系统ta的权限。对用户认证令牌u_token进行校验可以是校验其有效性,包括但是不限于,校验访问用户是否是待被访问租户系统所属的企业。
43.在对会话控制进行校验后,对用户认证令牌进行校验,一方面可以防止出现会话控制状态被伪造,却可以直接访问租户系统的安全性问题;另一方面在未出现session伪造的情况下也可以提高访问安全性。
44.作为本实施例一种可选的实现方式,基于所述认证令牌,判断所述用户在当前是否具有对多租户系统中的其他租户系统进行访问的权限包括:响应于接收到所述用户对多租户系统的其他租户系统进行访问的请求,对所述认证令牌进行校验,以基于所述校验结果确定所述用户对所述其他租户系统的访问权限。
45.在本可选的实现方式中,执行主体可以实时接收用户通过用户端发送的访问请求,如果确定该用户非第一次访问多租户系统,那么可以通过该请求确定其访问目标,如果确定该访问目标与访问过的租户系统从属于一个企业、且该访问目标未被该用户访问过,例如tb,那么此情形即为用户第一次访问多租户系统内属于同一个企业的租户系统。可以理解的是,访问目标也可以是未被该用户访问过、且与访问过的租户系统不属于同一企业。
46.针对上述情形,由于当用户对任一租户系统访问后,会将该用户的认证令牌(可以包括用户认证令牌、和/或者企业认证令牌)存储至缓存中。因此当用户对其他租户系统tb进行访问时,可以首先从缓存中确定是否存储有用户认证令牌u_token,如果存储有该认证令牌,则对企业认证令牌c_token进行校验,以校验得到该c_token所认证的企业是否与访问过的租户系统ta所属的企业是同一企业,如果是同一企业,那么该用户对当前企业的其他租户系统tb具有访问权限。如果该c_token所认证的企业与访问过的租户系统ta所属的企业是不同企业,则该用户不具备访问权限。
47.当其他租户系统被访问后,其他租户系统同理也可创建会话控制session,以可进一步实现当再次被访问时,执行主体可以通过该会话控制确定用户是否有访问权限。
48.上述可选的实现方式中,一个企业可以对应多个租户系统,当用户访问过同一企业的其他租户系统后,在访问该企业的其他租户系统时,可以直接登录,而无需再次验证,实现了单点登录,简化了相关技术中租户系统的登录方法。同时,通过认证令牌的校验,提高了登录的安全性。
49.作为本实施例一种可选的实现方式,方法还包括:如果缓存中未存储有与所述用户相对应的认证令牌,对请求进行解析,得到所述请求包含的第一标识信息;对所述第一标识信息进行校验,得到第一校验结果;如果所述第一校验结果指示校验成功,生成第一认证令牌,以用于访问所述其他租户系统。
50.在本可选的实现方式中,当用户请求访问多租户系统中的其他租户系统时,如果缓存中不存在用户的认证令牌,那么可以说明该用户未访问过多租户系统中的任何一个租户系统,此时可以按照新用户访问来处理,可以对请求进行解析,得到该请求中包含的标识信息,该标识信息可以是企业标识信息,通过该企业标识信息,对请求登录的用户是否是企业的合法用户进行校验。如果校验成功,生成该用户的认证用户令牌和认证企业令牌,以通过该令牌访问租户系统。
51.本实施例实现了企业跨租户的用户统一认证机制,当一个企业同时使用多个租户时,允许复用账号,并且登录一个租户系统后,其他租户系统自动登录,无需重复授权,提高了登录的效率。并且用户统一认证的方法通过建立标准的用户注册和认证流程,外部系统通过浏览器跳转和加密认证字段自动完成租户系统的自动授权登录。提高了登录的安全
性。
52.需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
53.根据本公开实施例,还提供了一种用于实施上述多租户系统的登录方法的装置,如图2所示,该装置包括:响应单元201,被配置成响应于接收到用户对多租户系统中的任一租户系统进行访问的请求,对所述请求进行解析,得到所述请求包含的标识信息;校验单元202,被配置成基于为所述任一租户系统预配置的标识信息,对所述请求包含的标识信息进行一致性校验,得到校验结果;登录单元203,被配置成如果所述校验结果指示校验一致,则生成认证令牌,以通过所述认证令牌访问所述任一租户系统、和/或所述多租户系统中的其他租户系统。
54.作为本实施例一种可选的实现方式,还包括第一判断单元,被配置成基于所述认证令牌,判断所述用户在当前是否具有对所述任一租户系统进行访问的权限;和/或,第二判断单元,被配置成基于所述认证令牌,判断所述用户在当前是否具有对多租户系统中的其他租户系统进行访问的权限。
55.作为本实施例一种可选的实现方式,第一判断单元进一步被配置成响应于接收到用户对所述任一租户系统进行再次访问的请求,判断所述任一租户系统是否已创建会话控制;基于所述判断结果,确定所述目标用户对所述任一租户系统的当前访问权限。
56.作为本实施例一种可选的实现方式,第一判断单元进一步被配置成基于所述判断结果,对所述认证令牌进行校验,以确定所述目标用户对所述任一租户系统的当前访问权限。
57.作为本实施例一种可选的实现方式,基于所述认证令牌,判断所述用户在当前是否具有对多租户系统中的其他租户系统进行访问的权限包括:响应于接收到所述用户对多租户系统的其他租户系统进行访问的请求,确定缓存中是否存储有与所述用户相对应的认证令牌;如果存储有与所述用户相对应的认证令牌,对所述认证令牌进行校验,以基于所述校验结果确定所述用户对所述其他租户系统的访问权限。
58.作为本实施例一种可选的实现方式,装置还包括:如果缓存中未存储有与所述用户相对应的认证令牌,对请求进行解析,得到所述请求包含的第一标识信息;对所述第一标识信息进行校验,得到第一校验结果;如果所述第一校验结果指示校验成功,生成第一认证令牌,以用于访问所述其他租户系统。
59.本实施例实现了企业跨租户的用户统一认证机制,当一个企业同时使用多个租户时,允许复用账号,并且登录一个租户系统后,其他租户系统自动登录,无需重复授权,提高了登录的效率。并且用户统一认证的方法通过建立标准的用户注册和认证流程,外部系统通过浏览器跳转和加密认证字段自动完成租户系统的自动授权登录。提高了登录的安全性。
60.本公开实施例提供了一种电子设备,如图3所示,该电子设备包括一个或多个处理器31以及存储器32,图3中以一个处理器31为例。
61.该控制器还可以包括:输入装置33和输出装置34。
62.处理器31、存储器32、输入装置33和输出装置34可以通过总线或者其他方式连接,
图3中以通过总线连接为例。
63.处理器31可以为中央处理器(centralprocessingunit,cpu)。处理器31还可以为其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现场可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等芯片,或者上述各类芯片的组合。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
64.存储器32作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态计算机可执行程序以及模块,如本公开实施例中的控制方法对应的程序指令/模块。处理器31通过运行存储在存储器32中的非暂态软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例的多租户系统的登录方法。
65.存储器32可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据服务器操作的处理装置的使用所创建的数据等。此外,存储器32可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施例中,存储器32可选包括相对于处理器31远程设置的存储器,这些远程存储器可以通过网络连接至网络连接装置。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
66.输入装置33可接收输入的数字或字符信息,以及产生与服务器的处理装置的用户设置以及功能控制有关的键信号输入。输出装置34可包括显示屏等显示设备。
67.一个或者多个模块存储在存储器32中,当被一个或者多个处理器31执行时,执行如图1所示的方法。
68.本领域技术人员可以理解,实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各电机控制方法的实施例的流程。其中,存储介质可为磁碟、光盘、只读存储记忆体(read-onlymemory,rom)、随机存储记忆体(randomaccessmemory,ram)、快闪存储器(flashmemory)、硬盘(harddiskdrive,缩写:hdd)或固态硬盘(solid-statedrive,ssd)等;存储介质还可以包括上述种类的存储器的组合。
69.虽然结合附图描述了本公开的实施方式,但是本领域技术人员可以在不脱离本公开的精神和范围的情况下作出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献