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

多系统登录的方法、装置、电子设备以及存储介质与流程

2022-06-02 17:32:36 来源:中国专利 TAG:


1.本技术实施例涉及计算机技术领域,尤其涉及一种多系统登录的方法、装置、电子设备以及存储介质。


背景技术:

2.随着计算机技术的发展,越来越多的业务都可通过计算机设备来实现和完成。对于不同的业务通常需要登录各自对应的业务系统,才能进行相应的操作。而每个业务系统的系统登录、鉴权和认证方法等通常是每个系统独立执行。这样就会导致多个业务系统均需要各自的账号密码实现登录,这就导致操作繁琐,效率过低。而为了避免这种情况,现有技术中,往往通过引入第三方管理系统对多个系统进行统一管理。也就是说,用户使用账号密码登录第三方管理系统后,相当于登录了与第三方管理系统对接了的所有业务系统,也就是子系统。这样可以减少登录多个系统的操作,提高了登录的效率。但是,这就导致了新的问题,若第三方管理系统出现故障,则会导致所有业务系统都无法正常登录使用。因此,提高多系统登录的容灾性是需要解决的问题。


技术实现要素:

3.本技术实施例提供了一种多系统登录的方法、装置、电子设备以及存储介质,可以提高多系统登录的容灾性。
4.第一方面,本技术实施例提供了一种多系统登录的方法,所述方法包括以下步骤:
5.接收用户的登录操作;
6.向目标管理系统发送请求认证,所述目标管理系统根据所述登录操作确定,所述目标管理系统包括本地管理系统和第三方管理系统;
7.判断所述目标管理系统是否通过所述请求认证;
8.在所述目标管理系统通过所述请求认证的情况下,获取目标管理系统返回的code码;
9.发送所述code码至网关服务模块,以获取所述网关服务模块返回的token;
10.根据所述token获取子系统列表。
11.第一方面,本技术实施例提供了一种多系统登录的装置,所述装置包括:
12.通信模块,用于接收用户的登录操作;向目标管理系统发送请求认证,所述目标管理系统根据所述登录操作确定,所述目标管理系统包括本地管理系统和第三方管理系统;
13.处理模块,用于判断所述目标管理系统是否通过所述请求认证;
14.所述通信模块,还用于在所述目标管理系统通过所述请求认证的情况下,获取目标管理系统返回的code码;发送所述code码至网关服务模块,以获取所述网关服务模块返回的token;根据所述token获取子系统列表。
15.第三方面,本技术实施例提供了一种电子设备,包括处理器和存储器,所述处理器和存储器相互连接,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序指
令,所述处理器被配置用于调用所述程序指令,执行如第一方面所述的方法。
16.第四方面,本技术实施例提供了一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行如第一方面所述的方法。
17.实施本技术实施例,将具有如下有益效果:
18.采用上述的多系统登录的方法、装置、计算机设备以及存储介质,接收用户的登录操作之后,根据用户的登录操作向目标管理系统发送请求认证,其中,目标管理系统根据用户的登录操作确定。目标管理系统包括本地管理系统和第三方管理系统。然后,判断目标管理系统是否通过所述请求认证。在目标管理系统通过请求认证的情况下,获取目标管理系统返回的code码。再发送code码至网关服务模块,以获取网关服务模块返回的token。然后根据所述token获取子系统列表。如此,通过多种方式也即可以通过不同的目标管理系统登录多系统,从而可以提高多系统登录的容灾性。
附图说明
19.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以基于这些附图获得其他的附图。其中:
20.图1为本技术实施例提供的一种系统架构示意图;
21.图2为本技术实施例提供的一种多系统登录的方法的流程示意图;
22.图3为本技术实施例提供的一种登录界面示意图;
23.图4为本技术实施例提供的一种多系统登录的装置的结构示意图;
24.图5为本技术实施例提供的一种电子设备的组成示意图。
具体实施方式
25.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
26.本技术的说明书和权利要求书及所述附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
27.在本文中提及“实施例”意味着,结合实施例描述的特定特征、结果或特性可以包含在本技术的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
28.首先,介绍本技术实施例涉及的专业术语和概念。
29.(1)token
30.token,是服务端生成的一串字符串,以作为向客户端(电子设备)进行请求的一个令牌。令牌是一种能够控制站点占有媒体的特殊帧,以区别数据帧及其他控制帧。也就是说,token可以被理解为暗号,在一些数据传输之前,要先进行暗号的核对,不同的暗号被授权不同的数据操作。
31.(2)code
32.code是用户授权从而得到的用户凭证,用于服务器进行交换得到资源访问凭证(token)。
33.(3)springsecurity
34.spring security是一个能够为基于spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架。它提供了一组可以在spring应用上下文中配置的bean,充分利用了spring ioc,di(控制反转inversion of control,di:dependency injection依赖注入)和aop(面向切面编程)功能,为应用系统提供声明式的安全访问控制功能,减少了为企业系统安全控制编写大量重复代码的工作。
35.(4)对称加密
36.对称加密是指采用单钥密码系统的加密方法,同一个密钥可以同时用作信息的加密和解密,也称为单密钥加密。密钥是控制加密及解密过程的指令。算法是一组规则,规定如何进行加密和解密。
37.其工作过程为:数据发送方将明文(原始数据)和加密密钥一起经过特殊加密算法处理后,使其变成复杂的加密密文发送出去。接收方收到密文后,若想解读原文,则需要使用加密密钥及相同算法(即上述特殊加密算法)的逆算法对密文进行解密,才能使其恢复成可读明文。
38.(5)非对称加密
39.非对称加密算法需要两个密钥来进行加密和解密,这两个密钥是公开密钥,简称公钥和私有密钥,简称私钥。公开密钥与私有密钥是一对,如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密;如果用私有密钥对数据进行加密,那么只有用对应的公开密钥才能解密。
40.其工作过程为:乙方生成一对密钥(公钥和私钥),并将公钥向其它方公开。得到该公钥的甲方使用该公钥对机密信息进行加密后再发送给乙方。乙方再用自己保存的另一把专用密钥(私钥)对加密后的信息进行解密。乙方只能用其专用密钥(私钥)解密由对应的公钥加密后的信息。
41.(6)md5
42.md5信息摘要算法(md5 message-digest algorithm),一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值(hash value),用于确保信息传输完整一致。
43.为了更好地理解本技术实施例的技术方案,在此对本技术实施例可能涉及的系统架构进行介绍。请参见图1,为本技术实施例提供的一种系统架构示意图。该系统架构可以包括:电子设备101和服务器102。其中,电子设备101和服务器102之间可以通过网络通信。网络通信可以基于任何有线和无线网络,包括但不限于因特网、广域网、城域网、局域网、虚
拟专用网络(virtual private network,vpn)和无线通信网络等等。
44.本技术实施例不限定电子设备和服务器的数量,服务器可同时为多个电子设备提供服务。在本技术实施例中,电子设备主要是用户用于进行多系统登录所使用的设备,可以用于与服务器进行通信从而获取子系统列表完成多系统登录。电子设备可以是个人计算机(personal computer,pc)、笔记本电脑或智能手机,还可以是一体机、掌上电脑、平板电脑(pad)、智能电视播放终端、车载终端或便捷式设备等。pc端的电子设备,例如一体机等,其操作系统可以包括但不限于linux系统、unix系统、windows系列系统(例如windows xp、windows7等)、mac os x系统(苹果电脑的操作系统)等操作系统。移动端的电子设备,例如智能手机等,其操作系统可以包括但不限于安卓系统、ios(苹果手机的操作系统)、window系统等操作系统。
45.服务器可以是独立的服务器,也可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(content delivery network,cdn)、以及大数据和人工智能平台等基础云计算服务的云服务器。服务器或者可以通过多个服务器组成的服务器集群来实现。
46.随着计算机技术的发展,越来越多的业务都可通过计算机设备来实现和完成。对于不同的业务通常需要登录各自对应的业务系统,才能进行相应的操作。而每个业务系统的系统登录、鉴权和认证方法等通常是每个系统独立执行。这样就会导致多个业务系统均需要各自的账号密码实现登录,这就导致操作繁琐,效率过低。而为了避免这种情况,现有技术中,往往通过引入第三方管理系统对多个系统进行统一管理。也就是说,用户使用账号密码登录第三方管理系统后,相当于登录了与第三方管理系统对接了的所有业务系统。这样可以减少登录多个系统的操作,提高了登录的效率。但是,这就导致了新的问题,若第三方管理系统出现故障,则会导致所有业务系统都无法正常登录使用。因此,提高多系统登录的容灾性是需要解决的问题。
47.为了解决上述问题,本技术实施例提供了一种多系统登录的方法,该方法可以应用于如图1所示的电子设备或服务器上。通过实施该方法,可以提高多系统登录的容灾性。
48.本技术实施例基于公共支撑平台(common service platform,csp)实现。csp是支撑上层应用的服务平台,包括网关服务模块、sdk模块以及用户管理系统。其中,网关服务模块负责授权与鉴权。sdk模块是指可以被各个子系统(应用系统)所引用的sdk包,通过springsecurity中的拦截器对每个应用进行权限管理,同时各子系统可以通过该模块获取当前用户拥有的菜单列表信息。用户管理系统,用于用户的登录管理、权限管理等。
49.请参见图2,为本技术实施例提供的一种多系统登录的方法的流程示意图。可以包括以下步骤s201-步骤s206。其中:
50.步骤s201:接收用户的登录操作。
51.步骤s202:向目标管理系统发送请求认证,目标管理系统根据登录操作确定。
52.请求认证是指请求认证用户身份,根据用户身份确定该用户是否具有操作权限以及具有哪些操作权限。
53.在一种可能的实现方式中,登录操作包括第一登录操作,目标管理系统根据用户的第一登录操作确定,目标管理系统包括本地管理系统和第三方管理系统。其中,本地管理系统即csp中的用户管理系统,第三方管理系统为除csp中的用户管理系统之外的其他用户
管理系统。如图3所示,为本技术实施例提供的一种登录界面示意图。按钮301表示使用第三方管理系统登录,按钮302表示使用本地管理系统登录。用户可通过点击按钮301或者点击按钮302快速的选择第三方管理系统进行登录或者本地管理系统来进行此次登录。可以理解的是,在图3中,用户的第一登录操作为点击按钮301或者点击按钮302。用户点击按钮301选择使用第三方管理系统登录时,目标管理系统为第三方管理系统;用户选点击按钮302选择使用本地管理系统进行登录时,目标管理系统为本地管理系统。通过让用户在一个界面上点击按钮来选择本地管理系统或者第三方管理系统进行登录,可以使得用户无须通过记住并输入各个系统的地址来进行登录,简化了用户的操作,提高了用户的体验度。
54.在一种可能的实现方式中,登录操作包括第二登录操作,第二登录操作用于确定登录方式,登录方式包括第一登录方式和第二登录方式。如图3所示,第一登录方式是指如304所示的输入账号密码进行登录的登录方式,第二登录方式是指如303所示的扫码登录的登录方式。在用户使用第一登录方式进行登录的情况下,如304所示,当用户输入了账号、密码且点击了登录按钮后,将接收到用户的登录操作,此时将向目标管理系统发送请求认证。在用户使用第二登录方式进行登录的情况下,如303所示,当用户使用另一设备进行扫码并点击了用于提示用户确认登录的按钮后,将接收到用户的登录操作,此时将向目标管理系统发送请求认证。
55.步骤s203:判断目标管理系统是否通过请求认证。
56.在一种可能的实现方式中,在登录方式为第一登录方式的情况下,判断所述目标管理系统是否通过所述请求认证可以包括如下所示的步骤a1-步骤a6:
57.步骤a1.根据所述第一登录方式获取第一输入账号和第一输入密码。
58.需要说明的是,第一输入账号和第一输入密码不是用户输入的账号和密码,而是指对用户输入的账号和密码进行了一次加密后的账号和密码。这是因为,若前端以明文方式进行传输,账号和密码会存在泄漏的风险。因此,前端在传输的时候会对账号和密码进行加密处理。因此,获取到的是加密后的第一输入账号和第一输入密码,而不是用户输入的账号和密码。加密处理的方式可以是对称加密,也可以是非对称加密。对账号和密码的加密处理的方式可以相同也可以不同。例如,可以对用户输入的账号使用对称加密的处理方式进行加密,而对用户输入的密码使用非对称加密的处理方式进行加密。
59.步骤a2.发送所述第一输入账号和所述第一输入密码至springsecurity框架,所述springsecurity框架用于解密所述第一输入账号得到原始输入账号以及加密所述第一输入密码得到第二输入密码。
60.其中,原始输入账号即为用户输入的账号,第二输入密码不是用户输入的密码,而是对用户输入的密码进行二次加密后的密码(第一次加密发生在上述所提到的前端传输时)。
61.步骤a3.获取数据库中的原始账号和加密密码。
62.需要说明的是,为了保障数据的安全性,存储在数据库中的为原始账号和加密密码。原始账号是指用户注册时生成或者用户设置的账号。加密密码不是用户设置的密码,而是对用户设置的密码进行了二次加密后的密码。
63.在一种可能的实现方式中,加密密码通过md5算法得到。当我们需要保存某些密码信息以用于身份确认时,如果直接将密码信息以明码方式保存在数据库中,不使用任何保
密措施,系统管理员就很容易能得到原来的密码信息,这些信息一旦泄露,密码也很容易被破译。为了增加安全性,有必要对数据库中需要保密的信息进行加密,这样,即使有人得到了整个数据库,如果没有解密算法,也不能得到原来的密码信息。md5算法可以很好地解决这个问题,因为它可以将任意长度的输入串经过计算得到固定长度的输出,而且只有在明文相同的情况下,才能等到相同的密文,并且这个算法是不可逆的,即便得到了加密以后的密文,也不可能通过解密算法反算出明文。这样就可以把用户的密码以md5值(或类似的其它算法)的方式保存起来,用户注册的时候,系统是把用户输入的密码计算成md5值,然后再去和系统中保存的md5值进行比较,如果密文相同,就可以认定密码是正确的,否则密码错误。通过这样的步骤,系统在并不知道用户密码明码的情况下就可以确定用户登录系统的合法性。这样不但可以避免用户的密码被具有系统管理员权限的用户知道,而且还在一定程度上增加了密码被破解的难度。
64.步骤a4.加密所述原始账号得到加密账号。
65.加密账号是指对原始账号进行一次加密后的账号。
66.步骤a5.发送所述加密账号以及所述加密密码至所述springsecurity框架,所述springsecurity框架用于解密所述加密账号得到所述原始账号,以及得到原始输入账号与原始账号、第二输入密码与加密密码的验证结果。
67.验证结果是指原始输入账号与原始账号是否匹配成功,以及第二输入密码与所述加密密码是否匹配成功。在原始输入账号与原始账号匹配成功,且第二输入密码与所述加密密码匹配成功的情况下,则验证结果为匹配成功。否则验证结果为匹配不成功。
68.步骤a6.根据验证结果确定是否通过请求认证。
69.在验证结果为匹配成功的情况下,则确定通过请求认证。在验证结果为匹配不成功的情况下,则确定不通过请求认证。
70.示例性的,一方面用户输入的账号为a,密码为b。而获取到的由前端传输的账号为a1(账号a1是对账号a进行了一次加密后的结果),密码为b1(密码b1是对密码b进行了一次加密后的结果)。然后将账号a1和密码b1传入springsecurity框架。springsecurity框架对账号a1进行解密重新得到账号a,对密码b1再次进行加密得到b2(密码b2相当于是对密码b进行二次加密的结果)。另一方面,数据库中对应于用户输入的账号a所存储的账号为a、密码为b2。在传入springsecurity之前,对账号a进行加密得到账号a1,对密码b2不作任何处理。将账号a1和密码b2传入springsecurity框架后,springsecurity框架对账号a1进行解密得到账号a,然后判断账号a是否与账号a匹配,以及判断密码b2是否与密码b2匹配。在账号a与账号a匹配,并且密码b2与密码b2匹配的情况下,则得到的验证结果为匹配成功,从而通过该请求认证。在账号a与账号a不匹配,或者,密码b2与密码b2不匹配的情况下,则得到的验证结果为匹配不成功,从而不通过该请求认证。
71.在一种可能的实现方式中,在登录方式为第二登录方式的情况下,判断所述目标管理系统是否通过所述请求认证可以包括如下所示的步骤b1-步骤b7:
72.步骤b1.根据所述第二登录方式获取code码。
73.code码在扫码成功时由第三方管理系统生成。每次扫码生成的code码都可能不同,但code码与用户之间存在映射关系,因此,根据code码可以在第三方管理系统中确定对应的此次扫码的用户。
74.步骤b2.发送所述code码至第三方管理系统,以获取对应的用户信息。
75.网关服务模块将code码发送至第三方管理系统,第三方管理系统可以根据该code码查询到对应用户的第三方管理系统中的用户信息。
76.步骤b3.根据用户信息查询得到数据库中的第一账号和第一密码。
77.网关服务模块从第三方管理系统获取到第三方管理系统中的用户信息后,根据第三方管理系统中的用户信息到本地管理系统中查询得到用户的本地管理系统中的用户信息。根据用户的本地管理系统中的用户信息到数据库中进行查询得到第一账号和第一密码。
78.需要说明的是,由于无法直接通过第三方管理系统中的用户信息获取数据库中的账号和密码,因此需要以本地管理系统作为媒介,间接获取数据库中的账号和密码。因此,第三方管理系统中的用户信息应当在本地管理系统中有部分或全部对应的用户信息。也就是说,本地管理系统中需要添加用户在第三方管理系统中的部分或全部的用户信息,从而能够根据第三方管理系统中的用户信息查询到在本地管理系统中对应的用户信息。
79.在一种可能的实现方式中,在第三方管理系统无法直接提供用户信息给本地管理系统进行用户信息的添加的情况下,也就是说第三方管理系统无法通过接口提供第三方管理系统的用户信息,可以通过获取用户提供的用户特征信息,即可用于标识唯一用户的用户信息,使用该用户特征信息在第三方管理系统中查询得到该用户的其他信息,然后将该用户在第三方管理系统中的信息填充至该用户在本地管理系统中的信息中并进行保存。通过获取用户特征信息,根据用户特征信息自动填充用户其他信息,可以减少用户操作,提高用户体验感。
80.在一种可能的实现方式中,在第三方可以提供第三方管理系统中的用户信息的情况下,根据预先设置的参数配置获取第三方管理系统提供的部分或全部用户信息,(例如,第三方管理系统包括集团a整个的机构的用户信息,集团a下包括机构a1、机构a2、机构a3和机构a4,各个机构下均包含各自机构下用户的用户信息,但是与本地管理系统相关的只是机构a1,因此,可以通过参数预先配置成本地管理系统仅获取机构a1下面包括的用户信息),将获取到的第三方管理系统中的用户信息添加至本地管理系统中。其中,用户信息经过加密处理,可以提高信息安全性。
81.步骤b4.发送第一账号和第一密码至springsecurity框架。
82.在一种可能的实现方式中,将第一账号发送至springsecurity框架之前对第一账号进行加密,然后springsecurity框架在接收到加密后的第一账号后对其进行解密重新得到第一账号。
83.步骤b5.获取数据库中的第二账号和第二密码。
84.可以理解的是,数据库中的第二账号和第二密码根据本地管理系统中的用户信息得到。
85.步骤b6.发送第二账号和第二密码至所述springsecurity框架。
86.在一种可能的实现方式中,将第二账号发送至springsecurity框架之前对第二账号进行加密,然后springsecurity框架在接收到加密后的第二账号后对其进行解密重新得到第二账号。
87.所述springsecurity框架用于得到第一账号与第二账号、第一密码与第二密码的
验证结果。验证结果是指第一账号与第二账号是否匹配成功,以及第一密码与第二密码是否匹配成功。在第一账号与第二账号匹配成功,且第一密码与第二密码匹配成功的情况下,则验证结果为匹配成功。否则验证结果为匹配不成功。
88.步骤b7.根据验证结果确定是否通过请求认证。
89.在验证结果为匹配成功的情况下,则确定通过请求认证。在验证结果为匹配不成功的情况下,则确定不通过请求认证。
90.可以理解的是,两次都是从数据库中取出账号和密码进行匹配,因此通常情况下都可以匹配成功。此次匹配相当于模拟登录的流程。
91.步骤s204:在目标管理系统通过请求认证的情况下,获取目标管理系统返回的code码。
92.也就是说,code码是由目标管理系统生成的。
93.步骤s205:发送code码至网关服务模块,以获取网关服务模块返回的token。
94.code码的有效时间相较于token而言更短。code码用于获取token,token用于确定用户身份,从而确定用户具有的操作权限。
95.在一种可能的实现方式中,使用本地管理系统登录或者使用第三方管理系统登录时所使用到的网关服务模块为同一网关服务模块,即csp中的网关服务模块,从而可以节省服务器资源。在网关服务模块中对使用本地管理系统进行登录以及使用第三方管理系统进行登录的差异化处理通过特征数据“redirecttype”确定。也就是说,根据选择的目标管理系统不同,在获取token时所携带的数据也存在区别。若使用本地管理系统进行登录,则在获取token时所携带的数据包括code码和特征数据“redirecttype”;若使用第三方管理系统进行登录,则在获取token时所携带的数据包括code码,但不包括特征数据“redirecttype”。在网关服务模块中对使用本地管理系统进行登录以及使用第三方管理系统进行登录的差异化处理可体现为以下步骤c1-c2和步骤d1-d2。其中步骤c1-步骤c2为针对于目标管理系统为本地管理系统时的处理方法,步骤d1-步骤d2为针对于目标管理系统为第三方管理系统时的处理方法。
96.在一种可能的实现方式中,在所述目标管理系统为所述本地管理系统的情况下,发送所述code码至网关服务模块,以获取所述网关服务模块返回的token包括步骤c1-步骤c2:
97.步骤c1:发送code码至网关服务模块,网关服务模块用于将code码发送至本地管理系统。
98.步骤c2:接收网关服务模块发送的token,token由本地管理系统发送至网关服务模块。
99.可以理解的是,由于本地管理系统与网关服务模块同属于csp,因此,在目标管理系统为本地管理系统的情况下,此时网关服务模块起到的作用为转发code码。
100.在一种可能的实现方式中,在所述目标管理系统为第三方管理系统的情况下,发送code码至网关服务模块,以获取网关服务模块返回的token包括步骤d1-步骤d2:
101.步骤d1:发送code码至网关服务模块,网关服务模块用于将code码发送至第三方管理系统,第三方管理系统用于根据接收到的code码返回相应的用户信息至网关服务模块。
102.也就是说,网关服务模块接收到code码之后,使用该code码到第三方管理系统中获取该code码对应的用户的第三方管理系统中的用户信息。
103.步骤d2:接收网关服务模块发送的token,token由网关服务模块根据接收到的用户信息生成。
104.具体的,网关服务模块在获取到用户的第三方管理系统中的用户信息之后,根据用户的第三方管理系统中的用户信息在本地管理系统中查找并获取到对应于该用户的本地管理系统中的用户信息。然后,根据获取到的本地管理系统中的用户信息生成token。
105.步骤s206:根据token获取子系统列表。
106.其中,子系统是指各个集成了sdk的应用系统。
107.在一种可能的实现方式中,根据token获取子系统列表的方式为:向网关服务模块发送获取子系统列表这一请求,网关服务模块接收到该请求后对token的有效性进行检验,在检验成功后,网关服务模块访问子系统获取菜单,子系统上的sdk模块根据token确定当前用户的权限,从而返回当前用户拥有的子系统列表以及子系统列表中各个子系统的菜单列表。从而实现了多种方式登录多系统的方法。
108.上述详细阐述了本技术实施例涉及的方法,下面介绍本技术实施例涉及的装置。
109.请参见图4,图4为本技术实施例提供的一种多系统登录的装置的结构示意图。如图4所示,该多系统登录的装置400包括:
110.通信模块401,用于接收用户的登录操作;用于向目标管理系统发送请求认证,所述目标管理系统根据所述登录操作确定;
111.处理模块402,用于判断所述目标管理系统是否通过所述请求认证;
112.通信模块401,还用于在所述目标管理系统通过所述请求认证的情况下,获取目标管理系统返回的code码;发送所述code码至网关服务模块,以获取所述网关服务模块返回的token;根据所述token获取子系统列表。
113.在一种可能的实现方式中,所述登陆操作包括第一登录操作,所述目标管理系统根据所述第一登录操作确定,所述目标管理系统包括本地管理系统和第三方管理系统。
114.在一种可能的实现方式中,所述登录操作包括第二登录操作,所述第二登录操作用于确定登录方式,所述登录方式包括第一登录方式和第二登录方式。
115.在一种可能的实现方式中,通信模块401具体用于:发送所述code码至网关服务模块,所述网关服务模块用于将所述code码发送至所述本地管理系统;接收所述网关服务模块发送的token,所述token由所述本地管理系统发送至所述网关服务模块。
116.在一种可能的实现方式中,通信模块401具体用于发送所述code码至网关服务模块,所述网关服务模块用于将所述code码发送至所述第三方管理系统,所述第三方管理系统用于根据接收到的所述code码返回相应的用户信息至所述网关服务模块;接收所述网关服务模块发送的token,所述token由所述网关服务模块根据接收到的所述用户信息生成。
117.在一种可能的实现方式中,通信模块401具体用于根据所述第一登录方式获取第一输入账号和第一输入密码;发送所述第一输入账号和所述第一输入密码至spring security框架,所述spring security框架用于解密所述第一输入账号得到原始输入账号以及加密所述第一输入密码得到第二输入密码;获取数据库中的原始账号和加密密码。处理模块402具体用于加密所述原始账号得到加密账号。通信模块401还用于发送所述加密账
号以及所述加密密码至所述springsecurity框架,所述springsecurity框架用于解密所述加密账号得到所述原始账号,以及得到所述原始输入账号与所述原始账号、所述第二输入密码与所述加密密码的验证结果。处理模块还用于根据所述验证结果确定是否通过所述请求认证。
118.在一种可能的实现方式中,通信模块401用于根据所述第二登录方式获取code码;发送所述code码至所述第三方管理系统,以获取对应的用户信息;根据所述用户信息查询得到数据库中的第一账号和第一密码;发送所述第一账号和第一密码至springsecurity框架;获取所述数据库中的第二账号和第二密码;发送所述第二账号和所述第二密码至所述springsecurity框架;所述springsecurity框架用于得到所述第一账号与所述第二账号、所述第一密码与所述第二密码的验证结果。处理模块402用于根据所述验证结果确定是否通过所述请求认证。
119.关于多系统登录的装置400的具体功能实现请参见图2对应的方法步骤,此处不再进行赘述。
120.请参见图5,为本技术实施例提供的一种电子设备的组成示意图。可包括:处理器110、存储器120;其中,处理器110、存储器120和通信接口130通过总线140连接,该存储器120用于存储指令,该处理器110用于执行该存储器120存储的指令,以实现如上图2对应的方法步骤。
121.处理器110用于执行该存储器120存储的指令,以控制通信接口130接收和发送信号,完成上述方法中的步骤。其中,所述存储器120可以集成在所述处理器110中,也可以与所述处理器110分开设置。
122.作为一种实现方式,通信接口130的功能可以考虑通过收发电路或者收发的专用芯片实现。处理器110可以考虑通过专用处理芯片、处理电路、处理器或者通用芯片实现。
123.作为另一种实现方式,可以考虑使用通用计算机的方式来实现本技术实施例提供的计算机设备。即将实现处理器110,通信接口130功能的程序代码存储在存储器120中,通用处理器通过执行存储器120中的代码来实现处理器110,通信接口130的功能。
124.该计算机设备所涉及的与本技术实施例提供的技术方案相关的概念,解释和详细说明及其他步骤请参见前述方法或其他实施例中关于装置执行的方法步骤的内容的描述,此处不做赘述。
125.作为本实施例的另一种实现方式,提供一种计算机可读存储介质,其上存储有指令,该指令被执行时执行上述方法实施例中的方法。
126.作为本实施例的另一种实现方式,提供一种包含指令的计算机程序产品,该指令被执行时执行上述方法实施例中的方法。
127.本领域技术人员可以理解,为了便于说明,图5中仅示出了一个存储器和处理器。在实际的电子设备或服务器中,可以存在多个处理器和存储器。存储器也可以称为存储介质或者存储设备等,本技术实施例对此不做限制。
128.应理解,在本技术实施例中,处理器可以是中央处理单元(central processing unit,简称cpu),该处理器还可以是其他通用处理器、数字信号处理器(digital signal processing,简称dsp)、专用集成电路(application specific integrated circuit,简称asic)、现成可编程门阵列(field-programmable gate array,简称fpga)或者其他可编程
逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。
129.还应理解,本技术实施例中提及的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,简称rom)、可编程只读存储器(programmable rom,简称prom)、可擦除可编程只读存储器(erasable prom,简称eprom)、电可擦除可编程只读存储器(electrically eprom,简称eeprom)或闪存。易失性存储器可以是随机存取存储器(random access memory,简称ram),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的ram可用,例如静态随机存取存储器(static ram,简称sram)、动态随机存取存储器(dynamic ram,简称dram)、同步动态随机存取存储器(synchronous dram,简称sdram)、双倍数据速率同步动态随机存取存储器(double data rate sdram,简称ddr sdram)、增强型同步动态随机存取存储器(enhanced sdram,简称esdram)、同步连接动态随机存取存储器(synchlink dram,简称sldram)和直接内存总线随机存取存储器(direct rambus ram,简称dr ram)。
130.需要说明的是,当处理器为通用处理器、dsp、asic、fpga或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件时,存储器(存储模块)集成在处理器中。
131.应注意,本文描述的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
132.该总线除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都标为总线。
133.还应理解,本文中涉及的第一、第二、第三、第四以及各种数字编号仅为描述方便进行的区分,并不用来限制本技术的范围。
134.应理解,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
135.在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。结合本技术实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。为避免重复,这里不再详细描述。
136.在本技术的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本技术实施例的实施过程构成任何限定。
137.本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各种说明性逻辑块(illustrative logical block,简称ilb)和步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
138.在本技术所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以
通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
139.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
140.另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
141.在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本技术实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘)等。
142.以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以所述权利要求的保护范围为准。
再多了解一些

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

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

相关文献