基于身份验证的会话权限校验方法、系统及电子设备与流程

文档序号:18823066发布日期:2019-10-09 01:06阅读:186来源:国知局
基于身份验证的会话权限校验方法、系统及电子设备与流程

本发明涉及密码技术领域,特别涉及一种基于身份验证的会话权限校验方法、系统及电子设备。



背景技术:

一个软件项目中可以包含多个应用客户端,不同的用户可以登录各自的应用客户端,在用户使用应用客户端的过程中,通常需要建立该用户当前使用的应用客户端与另外一个用户使用的应用客户端之间的会话,当前建立任意两个应用客户端之间的会话的方式通常为:使用基于时域(session)的会话控制方法建立任意两个应用客户端之间的会话。

该方案的缺陷在于,由于不同的应用客户端对应的session对象的格式可能不一致,因此,任意一个应用客户端基于session的会话控制方法生成的session对象可能无法被另外一个应用客户端读取,从而导致任意两个应用客户端之间无法根据session对象成功建立会话。



技术实现要素:

为了解决相关技术中存在的任意两个应用系统之间建立会话的成功率低的技术问题,本发明提供了一种基于身份验证的会话权限校验方法、系统及电子设备。

一种基于身份验证的会话权限校验方法,其特征在于,所述方法包括:

第一应用客户端根据用户的身份信息生成用户令牌;

所述第一应用客户端获取所述用户的用户编号,并将所述用户编号与所述用户令牌关联存储;

所述第一应用客户端向第二应用客户端发送包含所述用户编号和所述用户令牌的会话请求;

当检测到接收的所述会话请求中的所述用户编号和所述用户令牌通过会话权限校验时,所述第二应用客户端建立与所述第一应用客户端的会话连接。

一种基于身份验证的会话权限校验系统,其特征在于,所述系统包括第一应用客户端和第二应用客户端,其中,所述第一应用客户端包括:

生成单元,用于根据用户的身份信息生成用户令牌;

获取单元,用于获取所述用户的用户编号,并将所述用户编号与所述用户令牌关联存储;

发送单元,用于向所述第二应用客户端发送包含所述用户编号和所述用户令牌的会话请求;

所述第二用于客户端包括:

连接单元,用于当检测到接收的所述会话请求中的所述用户编号和所述用户令牌通过会话权限校验时,建立与所述第一应用客户端的会话连接。

一种电子设备,所述电子设备包括:

处理器;

存储器,所述存储器上存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,实现如前所述的方法。

一种计算机可读存储介质,其存储计算机客户端,所述计算机客户端使得计算机执行如前所述的方法。

本发明的实施例提供的技术方案可以包括以下有益效果:

本发明所提供的图像控制方法包括如下步骤,第一应用客户端根据用户的身份信息生成用户令牌;并获取用户的用户编号,以及将用户编号与用户令牌关联存储;第一应用客户端进而向第二应用客户端发送包含用户编号和用户令牌的会话请求;当第二应用客户端检测到接收的会话请求中的用户编号和用户令牌通过会话权限校验时,建立与第一应用客户端的会话连接。

此方法下,基于密码技术中的身份验证技术,可以将第一应用客户端的当前用户的用户编号和用户身份信息生成的用户令牌进行关联存储,并将根据用户编号和用户令牌生成的会话请求发送至第二应用客户端,以使第二应用客户端只需通过对会话请求中的用户编号和用户令牌就可以对第一应用客户端的用户进行校验,只有通过校验,第二应用客户端才会与第一应用客户端建立会话连接。综上,可以提高任意两个应用系统之间建立会话的成功率。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本发明。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并于说明书一起用于解释本发明的原理。

图1是根据一示例性实施例示出的一种基于身份验证的会话权限校验方法适用的网络场景的示意图;

图2是根据一示例性实施例示出的一种基于身份验证的会话权限校验方法的流程图;

图3是根据另一示例性实施例示出的一种基于身份验证的会话权限校验方法的流程图;

图4是根据一示例性实施例示出的一种基于身份验证的会话权限校验系统的框图;

图5是根据另一示例性实施例示出的一种基于身份验证的会话权限校验系统的框图。

具体实施方式

这里将详细地对示例性实施例执行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。

图1是根据一示例性实施例示出的一种基于身份验证的会话权限校验方法适用的网络场景的示意图。在图1所示的网络场景中,可以包括第一应用客户端和第二应用客户端;其中,第一应用客户端和第二应用客户端都可以为智能手机、平板电脑、笔记版电脑、台式电脑以及电话手表等终端设备,对此,本发明实施例不做限定。在图1所示的网络场景中,第一应用客户端的数量可以为一个或多个,第二应用客户端的数量可以为一个或多个,一个第一应用客户端可以与一个或多个第二应用客户端建立会话,一个第二应用客户端也可以与一个或多个第一应用客户端建立会话,对此本发明实施例不做限定。

可选的,第一应用客户端在向第二应用客户端发送会话请求时,可以对会话请求使用第二应用客户端能够解密的方式加密,以使第二应用客户端在接收到会话请求时可以通过预先存储的秘钥将会话请求解密,进而获取到该会话请求中包含的用户编号和用户令牌。第一应用客户端通过对会话请求加密,可以保证会话请求中包含的用户信息的安全,当会话请求在传输过程中出现丢失或被劫持的情况,也可以保证接收到该会话请求的应用客户端无法将该会话请求解密,也就无法获取到该会话请求中包含的用户信息,从而保证了用户信息的安全性。

图2是根据一示例性实施例示出的一种基于身份验证的会话权限校验方法的流程图。如图2所示,此方法包括以下步骤。

步骤201,第一应用客户端根据用户的身份信息生成用户令牌。

本发明实施例中,用户的身份信息可以包含用户的姓名、昵称、身份证号以及电话号码等信息。用户令牌(token)可以根据用户的身份信息生成,具有唯一性,即可以根据用户令牌唯一的确定用户的身份信息。

步骤202,第一应用客户端获取用户的用户编号,并将用户编号与用户令牌关联存储。

本发明实施例中,用户编号可以为第一应用客户端预先设置的固定的编号,当该用户为第一次登录的用户,第一应用客户端也可以为该用户分配新的编号,且每个用户的编号都不相同。用户编号与用户令牌可以存在一一对应的关系,因此,将用户编号和用户令牌关联存储可以通过用户令牌确定用户编号,也可以通过用户编号确定用户令牌。

可选的,也可以根据数据库中已存在的编号生成与数据库中存在的编号都不同的用户编号,以使数据库中存储的用户编号都是唯一的,可以将生成的用户编号与用户令牌关联存储至数据库中,以使第二应用客户端可以验证第一应用客户端的用户的登录状态,进而验证用户编号和用户令牌是否通过会话权限校验。此外,当第一应用客户端的用户账号登录预设的时长时,可以将第一应用客户端的用户账号设置为下线状态,并将用户编号和用户令牌从数据库中删除,还可以当检测到用户账号主动从第一应用客户端中下线时,将用户编号和用户令牌从数据库中删除,以保证数据库记录用户账号的登录状态的时效性。

作为一种可选的实施方式,第一应用客户端获取用户的用户编号,并将用户编号与用户令牌关联存储的方式可以包含以下步骤:

第一应用客户端获取用户的用户编号;

第一应用客户端生成用户编号与用户令牌之间关联的键值对;

第一应用客户端将键值对存储至数据库中。

其中,实施这种实施方式,可以将用户编号与用户令牌生成的键值对存储至数据库中,无需将用户的全部身份信息都存储至数据库中,从而减少了数据库中存储数据的数量,也减少了数据库中存储数据的大小,从而提高了数据库的利用率。

步骤203,第一应用客户端向第二应用客户端发送包含用户编号和用户令牌的会话请求。

本发明实施例中,第二应用客户端在确定与第一应用客户端建立会话连接之前需要对用户的会话权限进行校验,第二应用客户端对用户的会话权限的校验方式可以为根据用户编号和用户令牌验证用户是否有与第二应用客户端建立会话的权限,如果有,可以使第二应用客户端与第一应用客户端建立会话连接。

作为一种可选的实施方式,执行步骤203之后,还可以执行以下步骤:

当第一应用客户端检测到退出指令时,第一应用客户端获取退出指令包含的退出用户编号;

第一应用客户端从数据库中查找与退出用户编号匹配的当前键值对;

第一应用客户端从数据库中删除当前键值对。

其中,实施这种实施方式,可以在用户需要从应用客户端中退出登录时,自动的将存储在数据库中的与该用户的用户编号对应的键值对删除,以实现数据库存储信息的实时性。

步骤204,当检测到接收的会话请求中的用户编号和用户令牌通过会话权限校验时,第二应用客户端建立与第一应用客户端的会话连接。

作为一种可选的实施方式,当检测到接收的会话请求中的用户编号和用户令牌通过会话权限校验时,第二应用客户端建立与第一应用客户端的会话连接的方式可以包含以下步骤:

当检测到接收的会话请求中的用户编号和用户令牌通过会话权限校验时,第二应用客户端从会话请求中获取第一应用客户端的目标会话服务;

第二应用客户端调用与目标会话服务对应的目标应用客户端编程接口;

第二应用客户端通过目标应用客户端编程接口建立与第一应用客户端的会话连接。

其中,实施这种实施方式,可以从会话请求中获取到第一应用客户端需要建立会话连接的会话服务,并调用与该会话服务对应的api接口,从而提高第一应用客户端和第二应用客户端建立会话连接的成功率。

在图2所描述的方法中,可以提高任意两个应用系统之间建立会话的成功率。此外,实施图2所描述的方法,提高了数据库的利用率。此外,实施图2所描述的方法,可以实现数据库存储信息的实时性。此外,实施图2所描述的方法,可以提高第一应用客户端和第二应用客户端建立会话连接的成功率。

图3是根据另一示例性实施例示出的一种基于身份验证的会话权限校验方法的流程图。如图3所示,此方法包括以下步骤。

步骤301,第一应用客户端获取用户输入的会话指令。

本发明实施例中,用户可以登录第一应用客户端,并且在用户需要第一应用客户端与第二应用客户端建立会话连接时,可以向第一应用客户端输入会话指令,该会话指令中可以包含需要第一应用客户端建立会话连接的第二应用客户端的客户端标识,通过该客户端标识可以唯一的确定一个目标应用客户端,从而可以将该目标应用客户端确定为需要建立会话连接的第二应用客户端。

步骤302,第一应用客户端从会话指令中识别用户的身份信息和需要建立会话的第二应用客户端的客户端标识。

本发明实施例中,由于用户在第一应用客户端输入会话指令时,需要在第一应用客户端进行登录,因此第一应用客户端可以根据用户登录的信息从会话指令中确定用户的身份信息。

步骤303,第一应用客户端确定与客户端标识匹配的加密算法。

本发明实施例中,数据库中可以预先存储有各个应用客户端能够解密的加密算法,当确定第一应用客户端需要建立会话连接的应用客户端时,可以根据该应用客户端的客户端标识从数据库中搜索到与该客户端标识对应的加密算法,以使通过该加密算法加密过的信息可以被与该客户端标识对应的应用客户的解密,从而提高了用户身份信息的安全性。

步骤304,第一应用客户端通过加密算法对身份信息进行加密,生成用户令牌。

本发明实施例中,实施上述的步骤301~步骤304,可以获取第一应用客户端需要建立会话连接的第二应用客户端,从而获取与第二应用客户端匹配的加密算法,以使生成的会话请求只有第二应用客户端才能解密,从而保证了会话请求中包含的用户身份信息的安全性。

步骤305,第一应用客户端获取用户的用户编号,并将用户编号与用户令牌关联存储。

步骤306,第一应用客户端向第二应用客户端发送包含用户编号和用户令牌的会话请求。

步骤307,当第二应用客户端接收到会话请求时,第二应用客户端通过预设秘钥破解会话请求使用的加密算法,得到解密信息。

本发明实施例中,第二应用客户端预设的秘钥可以将会话请求使用的加密算法解密,由于会话请求使用的加密算法是可以被第二应用客户端预设的秘钥进行解密的,因此,如果第二应用客户端接收到的会话请求正确,则可以直接将会话请求进行解密,获取会话请求中的信息。此外,如果第二应用客户端接收到的会话请求不正确,则第二应用客户端不能将该会话请求进行解密,从而保证了会话请求中包含的信息的安全。

步骤308,第二应用客户端识别解密信息中包含的用户编号和用户令牌。

步骤309,第二应用客户端检测数据库中是否存储有与用户编号和用户令牌同时匹配的目标键值对,如果是,执行步骤310~步骤311;如果否,执行步骤312~步骤313。

步骤310,第二应用客户端确定会话请求中的用户编号和用户令牌通过会话权限校验。

本发明实施例中,实施上述的步骤307~步骤310,第一应用客户端和第二应用客户端都可以访问数据库,以使第二应用客户端可以从数据库中识别发送会话请求的第一应用客户端的用户是否为合法用户,从而保证了会话连接建立的准确性。

步骤311,当检测到接收的会话请求中的用户编号和用户令牌通过会话权限校验时,第二应用客户端建立与第一应用客户端的会话连接。

步骤312,第二应用客户端确定会话请求无效,并生成会话请求无效信息。

本发明实施例中,如果数据库中未存储有与用户编号和用户令牌匹配的键值对,可以认为触发该会话请求的用户为不合法用户,即没有与第二应用客户端建立会话连接权限的用户,则第二应用客户端无法与第一应用客户端建立会话连接,进而可以生成会话请求无效信息,以使第一应用客户端可以确定当前会话请求失败的原因。

步骤313,第二应用客户端向第一应用客户端发送会话请求无效信息,以提示第一应用客户端无法与第二应用客户端建立连接。

本发明实施例中,实施上述的步骤312~步骤313,可以在检测到发送会话请求的第一应用客户端的用户不为合法用户时,生成提示信息,以告知第一应用客户端当前无法建立会话连接的原因为第一应用客户端的用户不合法,以使第一应用客户端更换合法用户与第二应用客户端建立会话连接,提高了会话连接建立的智能性。

在图3所描述的方法中,可以提高任意两个应用系统之间建立会话的成功率。此外,实施图3所描述的方法,保证了会话请求中包含的用户身份信息的安全性。此外,实施图3所描述的方法,保证了会话连接建立的准确性。此外,实施图3所描述的方法,提高了会话连接建立的智能性。

以下是本发明的装置实施例。

图4是本发明实施例公开的一种基于身份验证的会话权限校验系统的框图。其中,如图4所示,该系统可以包括第一应用客户端400和第二应用客户端500,其中,第一应用客户端400包括:

生成单元401,用于根据用户的身份信息生成用户令牌。

获取单元402,用于获取用户的用户编号,并将用户编号与生成单元401生成的用户令牌关联存储。

作为一种可选的实施方式,获取单元402获取用户的用户编号,并将用户编号与生成单元401生成的用户令牌关联存储的方式具体可以为:

获取用户的用户编号;

生成用户编号与用户令牌之间关联的键值对;

将键值对存储至数据库中。

其中,实施这种实施方式,可以将用户编号与用户令牌生成的键值对存储至数据库中,无需将用户的全部身份信息都存储至数据库中,从而减少了数据库中存储数据的数量,也减少了数据库中存储数据的大小,从而提高了数据库的利用率。

发送单元403,用于向第二应用客户端500发送包含获取单元402获取的用户编号和用户令牌的会话请求。

作为一种可选的实施方式,发送单元403还可以用于:

当第一应用客户端400检测到退出指令时,获取退出指令包含的退出用户编号;

从数据库中查找与退出用户编号匹配的当前键值对;

从数据库中删除当前键值对。

其中,实施这种实施方式,可以在用户需要从应用客户端中退出登录时,自动的将存储在数据库中的与该用户的用户编号对应的键值对删除,以实现数据库存储信息的实时性。

第二用于客户端500包括:

连接单元501,用于当检测到接收的会话请求中的用户编号和用户令牌通过会话权限校验时,建立与第一应用客户端400的会话连接。

作为一种可选的实施方式,连接单元501当检测到接收的会话请求中的用户编号和用户令牌通过会话权限校验时,建立与第一应用客户端400的会话连接的方式具体可以为:

当检测到接收的会话请求中的用户编号和用户令牌通过会话权限校验时,从会话请求中获取第一应用客户端400的目标会话服务;

调用与目标会话服务对应的目标应用客户端编程接口;

通过目标应用客户端编程接口建立与第一应用客户端400的会话连接。

其中,实施这种实施方式,可以从会话请求中获取到第一应用客户端400需要建立会话连接的会话服务,并调用与该会话服务对应的api接口,从而提高第一应用客户端400和第二应用客户端500建立会话连接的成功率。

可见,在图4所描述的系统中,可以提高任意两个应用系统之间建立会话的成功率。此外,在图4所描述的系统中,提高了数据库的利用率。此外,在图4所描述的系统中,可以实现数据库存储信息的实时性。此外,在图4所描述的系统中,可以提高第一应用客户端400和第二应用客户端500建立会话连接的成功率。

图5是根据另一示例性实施例示出的一种基于身份验证的会话权限校验系统的框图。其中,图5所示的基于身份验证的会话权限校验系统是由图4所示的基于身份验证的会话权限校验系统进行优化得到的。与图4所示的基于身份验证的会话权限校验系统相比,图5所示的基于身份验证的会话权限校验系统中第一应用客户端400的生成单元401可以包括:

获取子单元4011,用于获取用户输入的会话指令。

识别子单元4012,用于从获取子单元4011获取的会话指令中识别用户的身份信息和需要建立会话的第二应用客户端500的客户端标识。

确定子单元4013,用于确定与识别子单元4012识别的客户端标识匹配的加密算法。

生成子单元4014,用于通过确定子单元4013确定的加密算法对识别子单元4012识别的身份信息进行加密,生成用户令牌。

本发明实施例中,可以获取第一应用客户端400需要建立会话连接的第二应用客户端500,从而获取与第二应用客户端500匹配的加密算法,以使生成的会话请求只有第二应用客户端500才能解密,从而保证了会话请求中包含的用户身份信息的安全性。

作为一种可选的实施方式,图5所示的基于身份验证的会话权限校验系统的第二应用客户端500还可以包括:

破解单元502,用于当接收到会话请求时,通过预设秘钥破解会话请求使用的加密算法,得到解密信息.

识别单元503,用于识别破解单元502得到的解密信息中包含的用户编号和用户令牌。

检测单元504,用于检测数据库中是否存储有与识别单元503识别的用户编号和用户令牌同时匹配的目标键值对。

第一确定单元505,用于在检测单元504检测的结果为是时,确定会话请求中的用户编号和用户令牌通过会话权限校验。

其中,实施这种实施方式,第一应用客户端400和第二应用客户端500都可以访问数据库,以使第二应用客户端500可以从数据库中识别发送会话请求的第一应用客户端400的用户是否为合法用户,从而保证了会话连接建立的准确性。

作为一种可选的实施方式,图5所示的基于身份验证的会话权限校验系统的第二应用客户端500还可以包括:

第二确定单元506,用于在检测单元504检测的结果为否时,确定会话请求无效,并生成会话请求无效信息;

信息发送单元507,用于向第一应用客户端400发送会话请求无效信息,以提示第一应用客户端400无法与第二应用客户端500建立连接。

其中,实施这种实施方式,可以在检测到发送会话请求的第一应用客户端400的用户不为合法用户时,生成提示信息,以告知第一应用客户端400当前无法建立会话连接的原因为第一应用客户端400的用户不合法,以使第一应用客户端400更换合法用户与第二应用客户端500建立会话连接,提高了会话连接建立的智能性。

可见,在图5所描述的系统中,可以提高任意两个应用系统之间建立会话的成功率。此外,在图5所描述的系统中,保证了会话请求中包含的用户身份信息的安全性。此外,在图5所描述的系统中,保证了会话连接建立的准确性。此外,在图5所描述的系统中,提高了会话连接建立的智能性。

本发明还提供一种电子设备,该电子设备包括:

处理器;

存储器,该存储器上存储有计算机可读指令,该计算机可读指令被处理器执行时,实现如前所示的基于身份验证的会话权限校验方法。

在一示例性实施例中,本发明还提供一种计算机可读存储介质,其上存储有计算机客户端,该计算机客户端被处理器执行时,实现如前所示的基于身份验证的会话权限校验方法。

在本发明的实施例中,应理解,上述各过程的序号的大小并不意味着执行顺序的必然先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。

另外,本文中术语“系统”和“网络”在本文中常可互换使用。应理解,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。

在本发明所提供的实施例中,应理解,“与a对应的b”表示b与a相关联,根据a可以确定b。但还应理解,根据a确定b并不意味着仅仅根据a确定b,还可以根据a和/或其他信息确定b。

本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质包括只读存储器(read-onlymemory,rom)、随机存储器(randomaccessmemory,ram)、可编程只读存储器(programmableread-onlymemory,prom)、可擦除可编程只读存储器(erasableprogrammablereadonlymemory,eprom)、一次可编程只读存储器(one-timeprogrammableread-onlymemory,otprom)、电子抹除式可复写只读存储器(electrically-erasableprogrammableread-onlymemory,eeprom)、只读光盘(compactdiscread-onlymemory,cd-rom)或其他光盘存储器、磁盘存储器、磁带存储器、或者能够用于携带或存储数据的计算机可读的任何其他介质。

上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可位于一个地方,或者也可以分布到多个网络单元上。可根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。

另外,在本发明各实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

上述集成的单元若以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可获取的存储器中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或者部分,可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干请求用以使得一台计算机设备(可以为个人计算机、服务器或者网络设备等,具体可以是计算机设备中的处理器)执行本发明的各个实施例上述方法的部分或全部步骤。

应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围执行各种修改和改变。本发明的范围仅由所附的权利要求来限制。以上对本发明实施例公开的一种基于身份验证的会话权限校验方法、系统及电子设备进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1