单点登录方法、装置、电子设备及存储介质与流程

文档序号:29810273发布日期:2022-04-27 03:50阅读:91来源:国知局
单点登录方法、装置、电子设备及存储介质与流程

1.本技术涉及软件开发技术领域,特别是涉及一种单点登录方法、装置、电子设备及存储介质。


背景技术:

2.单点登录,又称sso(single sign on),指的是对于多个互相信任的系统,用户只要执行一次登录操作,即可访问所有的系统,直到该次登录失效为止。在单点登录环境下,各应用将认证功能交由单点登录系统完成,而不再使用自身的认证系统。目前,单点登录技术广泛应用于中国电信各系统中。
3.随着信息安全要求的进一步提升,如何保证单点登录安全可靠,成为我们需要思考的重要议题。


技术实现要素:

4.本技术提供一种单点登录方法、装置、电子设备及存储介质,以解决如何保证单点登录安全可靠的问题。
5.为了解决上述问题,本技术实施例是这样实现的:
6.第一方面,本技术实施例提供了一种单点登录方法,应用于第一系统,包括:
7.在用户登录时,生成所述用户对应的单点登录标签;
8.获取所述用户对应的设备位置信息;
9.根据所述单点登录标签和所述设备位置信息,生成数字签名信息;
10.将所述数字签名信息和所述单点登录标签发送至第二系统,以由所述第二系统对设备位置信息和单点登录标签进行校验,在校验通过时,允许所述用户登录第二系统。
11.可选地,在所述生成所述用户对应的单点登录标签之前,还包括:
12.在所述用户登录时,确定所述用户是否为首次登录用户;
13.在确定所述用户为首次登录用户的情况下,对所述用户进行账号注册,并在注册成功之后,执行所述生成所述用户对应的单点登录标签的步骤;
14.在确定所述用户为非首次登录用户的情况下,执行所述生成所述用户对应的单点登录标签的步骤。
15.可选地,所述根据所述单点登录标签和所述设备位置信息,生成数字签名信息,包括:
16.对所述单点登录标签和所述设备位置信息进行拼接处理,生成散列值;
17.对所述散列值进行加密处理,生成所述数字签名信息。
18.可选地,所述将所述数字签名信息发送至第二系统,包括:
19.在调起所述第二系统时,根据与所述第二系统的链接参数,将所述数字签名信息和所述单点登录标签发送至所述第二系统。
20.第二方面,本技术实施例提供的一种单点登录方法,应用于第二系统,包括:
21.获取第一系统发送的数字签名信息和单点登录标签;
22.对所述数字签名信息进行解析,得到第一哈希值;所述第一哈希值是根据所述第一系统的设备位置信息和所述单点登录标签进行哈希处理得到的;
23.对所述第二系统的设备位置信息和所述单点登录标签进行哈希处理,得到第二哈希值;
24.确定所述第一哈希值与所述第二哈希值是否一致;
25.在所述第一哈希值与所述第二哈希值一致的情况下,允许用户登录所述第二系统。
26.第三方面,本技术实施例提供了一种单点登录装置,应用于第一系统,包括:
27.单点登录标签生成模块,用于在用户登录时,生成所述用户对应的单点登录标签;
28.设备位置信息获取模块,用于获取所述用户对应的设备位置信息;
29.数字签名信息生成模块,用于根据所述单点登录标签和所述设备位置信息,生成数字签名信息;
30.数据签名信息发送模块,用于将所述数字签名信息和所述单点登录标签发送至第二系统,以由所述第二系统对设备位置信息和单点登录标签进行校验,在校验通过时,允许所述用户登录第二系统。
31.可选地,所述装置还包括:
32.登录用户确定模块,用于在所述用户登录时,确定所述用户是否为首次登录用户;
33.第一执行模块,用于在确定所述用户为首次登录用户的情况下,对所述用户进行账号注册,并在注册成功之后,执行所述单点登录标签生成模块;
34.第二执行模块,用于在确定所述用户为非首次登录用户的情况下,执行所述单点登录标签生成模块。
35.可选地,所述数字签名信息生成模块包括:
36.散列值生成单元,用于对所述单点登录标签和所述设备位置信息进行拼接处理,生成散列值;
37.数字签名信息生成单元,用于对所述散列值进行加密处理,生成所述数字签名信息。
38.可选地,所述数据签名信息发送模块包括:
39.数据签名信息发送单元,用于在调起所述第二系统时,根据与所述第二系统的链接参数,将所述数字签名信息和所述单点登录标签发送至所述第二系统。
40.第四方面,本技术实施例提供了一种单点登录装置,应用于第二系统,包括:
41.数据签名信息获取模块,用于获取第一系统发送的数字签名信息和单点登录标签;
42.第一哈希值获取模块,用于对所述数字签名信息进行解析,得到第一哈希值;所述第一哈希值是根据所述第一系统的设备位置信息和所述单点登录标签进行哈希处理得到的;
43.第二哈希值获取模块,用于对所述第二系统的设备位置信息和所述单点登录标签进行哈希处理,得到第二哈希值;
44.哈希值确定模块,用于确定所述第一哈希值与所述第二哈希值是否一致;
45.用户登录允许模块,用于在所述第一哈希值与所述第二哈希值一致的情况下,允许用户登录所述第二系统。
46.第五方面,本技术实施例提供了一种电子设备,包括:
47.处理器、存储器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现上述任一项所述的单点登录方法。
48.第六方面,本技术实施例提供了一种可读存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行上述任一项所述的单点登录方法。
49.与现有技术相比,本技术包括以下优点:
50.本技术实施例提供了一种单点登录方法、装置、电子设备及存储介质,通过在用户登录时,生成用户对应的单点登录标签,获取用户对应的设备位置信息,根据单点登录标签和设备位置信息,生成数字签名信息,将数字签名信息和单点登录标签发送至第二系统,以由第二系统对设备位置信息和单点登录标签进行校验,在校验通过时,允许用户登录。本技术实施例通过利用单点登录标签和设备位置信息的双重校验方式,可以增加单点登录安全校验的可靠性,且能增加灵活控制校验的成功率。
附图说明
51.图1为本技术实施例提供的一种单点登录方法的步骤流程图;
52.图2为本技术实施例提供的另一种单点登录方法的步骤流程图;
53.图3为本技术实施例提供的一种单点登录装置的结构示意图;
54.图4为本技术实施例提供的另一种单点登录装置的结构示意图;
55.图5为本技术实施例提供的一种电子设备的结构示意图。
具体实施方式
56.为使本技术的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本技术作进一步详细的说明。
57.实施例一
58.参照图1,示出了本技术实施例提供的一种单点登录方法的步骤流程图,该单点登录方法可以应用于第一系统,如图1所示,该单点登录方法可以包括以下步骤:
59.步骤101:在用户登录时,生成所述用户对应的单点登录标签。
60.本技术实施例可以应用于单点登录中对登录用户进行安全校验的场景中。
61.本实施例可以应用于第一系统,即执行主体为第一系统。
62.单点登录(single sign on,sso)是目前比较流行的企业业务整合的解决方案之一。sso的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。
63.在单点登录场景下,在用户登录时,可以生成该用户对应的单点登录标签(即单点登录ticket),即在用户登录时,可以调用登录校验模块进行登录校验,并生成单点登录ticket。
64.在本实施例中,在调用登录校验模块进行登录校验之前,还需要判断该用户是否为首次登录用户,具体地,可以结合下述具体实现方式进行详细描述。
65.在本技术的一种具体实现方式中,在上述步骤101之前,还可以包括:
66.步骤a1:在所述用户登录时,确定所述用户是否为首次登录用户。
67.在本实施例中,在用户登录时,可以判断该用户是否为首次登录用户,即判断系统中是否存在该用户的账户。具体地判断方式可以为:在用户登录时,需要用户在登录页面输入账户和密码,若用户输入的账户和密码准确,则确定该用户为非首次登录用户,否则可以确定该用户为首次登录用户等。
68.在确定用户为首次登录用户时,则执行步骤a2,否则执行步骤a3。
69.步骤a2:在确定所述用户为首次登录用户的情况下,对所述用户进行账号注册,并在注册成功之后,执行步骤101。
70.步骤a3:在确定所述用户为非首次登录用户的情况下,执行步骤101。
71.在确定登录用户为非首次登录用户时,则可以执行调用登录校验模块进行登录校验生成用户的单点登录ticket的流程。
72.而在确定登录用户为首次登录用户时,则可以指导用户进行账号注册,并在用户账号注册成功之后,执行调用登录校验模块进行登录校验生成用户的单点登录ticket的流程。在本示例中,用户在首次使用客户端平台时,需要进行注册,并登录。用户注册后,在后台生产用户数据,并生成唯一的用户标示userid。
73.在本示例中,当客户端请求单点ticket时,登录平台使用用户userid+时间戳+随机串,然后进行aes加密,生成加密串作为本次ticket返回客户端。
74.在生成用户对应的单点登录标签之后,执行步骤102。
75.步骤102:获取所述用户对应的设备位置信息。
76.设备位置信息是指用户在进行单点登录时所使用的设备的位置,也即用户所处的地理位置,在本示例中,设备位置信息不仅限于经纬度信息,还可以是系统定义的地区编码、国家编码等位置信息,能够灵活控制校验的成功率。
77.在生成用户对应的单点登录标签之后,可以获取用户对应的设备位置信息,具体地,可以采用gps(global positioning system,全球定位系统)等定位系统对用户的设备进行定位,以获取用户的设备位置信息。
78.在获取到用户对应的设备位置信息之后,执行步骤103。
79.步骤103:根据所述单点登录标签和所述设备位置信息,生成数字签名信息。
80.在获取到用户的单点登录标签和设备位置信息之后,可以根据单点登录标签和设备位置信息生成数字签名信息,在本示例中,在用户需要从第一系统打开同平台的第二系统时,可以调用复合签名生成模块生成数字签名信息,具体地,生成数字签名信息的过程可以结合下述具体实现方式进行详细描述。
81.在本技术的一种具体实现方式中,上述步骤103可以包括:
82.子步骤b1:对所述单点登录标签和所述设备位置信息进行拼接处理,生成散列值。
83.在本实施例中,散列值是指将值从一个大的(可能很大)定义域映射到一个较小值域的(数学)函数。“好的”散列函数是把该函数应用到大的定义域中的若干值的(大)集合的结果可以均匀地(和随机地)被分布在该范围上。
84.在得到单点登录ticket和设备位置信息之后,可以对单点登录ticket和设备位置信息进行拼接处理,以生成散列值。
85.在对单点登录标签和设备位置信息进行拼接处理生成散列值之后,执行子步骤b2。
86.子步骤b2:对所述散列值进行加密处理,生成所述数字签名信息。
87.在对单点登录标签和设备位置信息进行拼接处理生成散列值之后,可以对散列值进行加密处理,以生成数字签名信息。
88.在本示例中,对于散列值的加密方式可以根据使用需求而定,本实施例对此不加以限制。
89.在根据单点登录标签和设备位置信息生成数字签名信息之后,执行步骤104。
90.步骤104:将所述数字签名信息和所述单点登录标签发送至第二系统,以由所述第二系统对设备位置信息和单点登录标签进行校验,在校验通过时,允许所述用户登录第二系统。
91.在根据单点登录标签和设备位置信息生成数字签名信息之后,可以将数字签名信息和单点登录标签发送至第二系统,以由第二系统对设备位置信息和单点登录标签进行校验,在校验通过时,即可以允许用户登录第二系统。具体地,可以先由第二系统对接收的数字签名信息进行解析,以解析得到哈希值,并根据单点登录标签和第二系统的设备位置信息计算得到一个哈希值,然后价格解析得到的哈希值与计算得到的哈希值进行匹配,若二者匹配,则校验成功,允许用户登录第二系统。
92.在本实施例中,在将数字签名信息发送至第二系统时,可以调起第二系统,根据与第二系统预先协议的链接参数将数字签名信息和单点登录标签发送至第二系统。
93.本技术实施例通过利用单点登录标签和设备位置信息的双重校验方式,可以增加单点登录安全校验的可靠性。
94.本技术实施例提供的单点登录方法,通过在用户登录时,生成用户对应的单点登录标签,获取用户对应的设备位置信息,根据单点登录标签和设备位置信息,生成数字签名信息,将数字签名信息和单点登录标签发送至第二系统,以由第二系统对设备位置信息和单点登录标签进行校验,在校验通过时,允许用户登录。本技术实施例通过利用单点登录标签和设备位置信息的双重校验方式,可以增加单点登录安全校验的可靠性,且能增加灵活控制校验的成功率。
95.实施例二
96.参照图2,示出了本技术实施例提供的另一种单点登录方法的步骤流程图,该单点登录方法可以应用于第二系统,如图2所示,该单点登录方法可以包括以下步骤:
97.步骤201:获取第一系统发送的数字签名信息和单点登录标签。
98.本实施例可以应用于第二系统,即执行主体为第二系统。
99.在本实施例中,着重对登录校验过程进行详细描述。
100.第二系统可以获取第一系统发送的数字签名信息和单点登录标签。
101.在第二系统获取到第一系统发送的数字签名信息和单点登录标签之后,执行步骤202。
102.步骤202:对所述数字签名信息进行解析,得到第一哈希值;所述第一哈希值是根据所述第一系统的设备位置信息和所述单点登录标签进行哈希处理得到的。
103.第一哈希值是指根据第一系统的设备位置信息和单点登录标签进行哈希处理得
到的。
104.在获取到第一系统发送的数字签名信息之后,可以由第二系统对第一系统发送的数字签名信息进行解析,以得到第一哈希值。
105.在对数字签名信息进行解析得到第一哈希值之后,执行步骤203。
106.步骤203:对所述第二系统的设备位置信息和所述单点登录标签进行哈希处理,得到第二哈希值。
107.第二哈希值是指对第二系统的设备位置信息和单点登录标签进行哈希处理得到的哈希值。
108.在第二系统获取到第一系统发送的单点登录标签之后,可以获取自身的位置信息,即第二系统的设备位置信息,进而可以对自身的设备位置信息和第一系统发送的单点登录标签进行哈希处理,从而可以得到第二哈希值。
109.在对第二系统的设备位置信息和单点登录标签进行哈希处理得到第二哈希值之后,执行步骤204。
110.步骤204:确定所述第一哈希值与所述第二哈希值是否一致。
111.在得到第一哈希值和第二哈希值之后,可以判断第一哈希值与第二哈希值是否一致。
112.步骤205:在所述第一哈希值与所述第二哈希值一致的情况下,允许用户登录所述第二系统。
113.在判定出第一哈希值与第二哈希值一致的情况下,则可以允许用户登录第二系统。
114.本技术实施例中,哈希值中包含设备位置信息和单点登录标签,通过比对哈希值即可实现位置和单点登录标签的双重校验值,可以增加单点登录安全校验的可靠性,且能增加灵活控制校验的成功率。
115.本技术实施例通过利用单点登录标签和设备位置信息的双重校验方式,可以增加单点登录安全校验的可靠性,且能增加灵活控制校验的成功率。
116.本技术实施例提供的单点登录方法,通过获取第一系统发送的数字签名信息和单点登录标签,对数字签名信息进行解析,得到设备位置信息和单点登录标签,校验解析到的单点登录标签和第一系统发送的单点登录标签是否一致,在解析到的单点登录标签和第一系统发送的单点登录标签一致的情况下,校验设备位置信息与第二系统的位置信息是否处于同一区域,在设备位置信息与第二系统的位置处于同一区域的情况下,校验单点登录标签的有效性,在校验单点登录标签为有效标签的情况下,允许用户登录。本技术实施例通过利用单点登录标签和设备位置信息的双重校验方式,可以增加单点登录安全校验的可靠性,且能增加灵活控制校验的成功率。
117.实施例三
118.参照图3,示出了本技术实施例提供的一种单点登录装置的结构示意图,该单点登录装置可以应用于第一系统,如图3所示,该单点登录装置300可以包括以下模块:
119.单点登录标签生成模块310,用于在用户登录时,生成所述用户对应的单点登录标签;
120.设备位置信息获取模块320,用于获取所述用户对应的设备位置信息;
121.数字签名信息生成模块330,用于根据所述单点登录标签和所述设备位置信息,生成数字签名信息;
122.数据签名信息发送模块340,用于将所述数字签名信息和所述单点登录标签发送至第二系统,以由所述第二系统对设备位置信息和单点登录标签进行校验,在校验通过时,允许所述用户登录第二系统。
123.可选地,所述装置还包括:
124.登录用户确定模块,用于在所述用户登录时,确定所述用户是否为首次登录用户;
125.第一执行模块,用于在确定所述用户为首次登录用户的情况下,对所述用户进行账号注册,并在注册成功之后,执行所述单点登录标签生成模块;
126.第二执行模块,用于在确定所述用户为非首次登录用户的情况下,执行所述单点登录标签生成模块。
127.可选地,所述数字签名信息生成模块包括:
128.散列值生成单元,用于对所述单点登录标签和所述设备位置信息进行拼接处理,生成散列值;
129.数字签名信息生成单元,用于对所述散列值进行加密处理,生成所述数字签名信息。
130.可选地,所述数据签名信息发送模块包括:
131.数据签名信息发送单元,用于在调起所述第二系统时,根据与所述第二系统的链接参数,将所述数字签名信息和所述单点登录标签发送至所述第二系统。
132.本技术实施例提供的单点登录装置,通过在用户登录时,生成用户对应的单点登录标签,获取用户对应的设备位置信息,根据单点登录标签和设备位置信息,生成数字签名信息,将数字签名信息和单点登录标签发送至第二系统,以由第二系统对设备位置信息和单点登录标签进行校验,在校验通过时,允许用户登录。本技术实施例通过利用单点登录标签和设备位置信息的双重校验方式,可以增加单点登录安全校验的可靠性,且能增加灵活控制校验的成功率。
133.实施例四
134.参照图4,示出了本技术实施例提供的另一种单点登录装置的结构示意图,该单点登录装置可以应用于第二系统,如图4所示,该单点登录装置400可以包括以下模块:
135.数据签名信息获取模块410,用于获取第一系统发送的数字签名信息和单点登录标签;
136.第一哈希值获取模块420,用于对所述数字签名信息进行解析,得到第一哈希值;所述第一哈希值是根据所述第一系统的设备位置信息和所述单点登录标签进行哈希处理得到的;
137.第二哈希值获取模块430,用于对所述第二系统的设备位置信息和所述单点登录标签进行哈希处理,得到第二哈希值;
138.哈希值确定模块440,用于确定所述第一哈希值与所述第二哈希值是否一致;
139.用户登录允许模块450,用于在所述第一哈希值与所述第二哈希值一致的情况下,允许用户登录所述第二系统。本技术实施例提供的单点登录装置,通过获取第一系统发送的数字签名信息和单点登录标签,对数字签名信息进行解析,得到第一哈希值,第一哈希值
是根据第一系统的设备位置信息和单点登录标签进行哈希处理得到的,对第二系统的设备位置信息和单点登录标签哈希处理,得到第二哈希值,确定第一哈希值与第二哈希值是否一致,在第一哈希值与第二哈希值一致的情况下,允许用户登录第二系统。本技术实施例通过利用单点登录标签和设备位置信息的双重校验方式,可以增加单点登录安全校验的可靠性,且能增加灵活控制校验的成功率。
140.对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本技术并不受所描述的动作顺序的限制,因为依据本技术,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本技术所必须的。
141.实施例五
142.本技术实施例提供了一种电子设备,包括:处理器、存储器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现上述任一项所述的单点登录方法。
143.参照图5,示出了本技术实施例提供的一种电子设备的结构示意图,如图5所示,电子设备500包括中央处理单元(cpu)501,其可以根据存储在只读存储器(rom)502中的计算机程序指令或者从存储单元508加载到随机访问存储器(ram)503中的计算机程序指令,来执行各种适当的动作和处理。在ram 503中,还可存储电子设备500操作所需的各种程序和数据。cpu 501、rom 502以及ram 503通过总线504彼此相连。输入/输出(i/o)接口505也连接至总线504。
144.电子设备500中的多个部件连接至i/o接口505,包括:输入单元506,例如键盘、鼠标、麦克风等;输出单元507,例如各种类型的显示器、扬声器等;存储单元508,例如磁盘、光盘等;以及通信单元509,例如网卡、调制解调器、无线通信收发机等。通信单元509允许电子设备500通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
145.上文所描述的各个过程和处理,可由处理单元501执行。例如,上述任一实施例的方法可被实现为计算机软件程序,其被有形地包含于计算机可读介质,例如存储单元508。在一些实施例中,计算机程序的部分或者全部可以经由rom502和/或通信单元509而被载入和/或安装到电子设备500上。当计算机程序被加载到ram 503并由cpu501执行时,可以执行上文描述的方法中的一个或多个动作。
146.实施例六
147.本技术实施例提供了一种可读存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行上述任一项所述的单点登录方法。
148.本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
149.最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排
除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
150.以上对本技术所提供的一种单点登录方法、一种单点登录装置、一种电子设备和一种存储介质,进行了详细介绍,本文中应用了具体个例对本技术的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本技术的方法及其核心思想;同时,对于本领域的一般技术人员,依据本技术的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本技术的限制。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1