一种用户鉴权方法及服务器与流程

文档序号:33017659发布日期:2023-01-20 17:30阅读:38来源:国知局
一种用户鉴权方法及服务器与流程

1.本发明涉及用户鉴权技术领域,尤其涉及一种用户鉴权方法及服务器。


背景技术:

2.通常的用户管理系统中使用比较广泛的就是基于角色的访问控制(rbac)实施面向企业安全策略的访问控制方式。但是这就导致用户的拥有不同角色,不同的角色又对应不同的权限,当用任意一个角色发生变化的时候,与其关联的所有用户的权限就会发生变化,这时在做访问控制的时候要么对用户的每次操作都去检测其最新的权限,要么就需要让相关的用户重新登录以便获取最新权限。这两种方式都不是最优的解,因为在复杂的系统中如果每次都去查询用户的权限将会消耗巨大的算力和处理时间,如果让用户重新登录,用户体验会下降。
3.高速公路各部门和业务系统众多,各个系统的用户账户体系各自管理,但是使用用户又是同一主体,这给一线实际工作人员带来巨大的使用不便和重复劳动,同时由于账号和用户体系的不统一,各系统之间数据无法进行用户之间的有效协作和联动。


技术实现要素:

4.为了克服上述技术缺陷,本发明的目的在于提供一种在用户状态发生变化时能更快速地进行鉴权的用户鉴权方法及服务器。
5.本发明公开了一种用户鉴权方法,用户关联一个或多个角色,每个角色配置一个或多个权限;用户所关联的多个所述角色的多个所述权限中的一个处于更改状态,则当前用户位于第一限制状态;用户所关联的多个所述角色的多个所述权限中的一个处于冻结状态,则当前用户位于第二限制状态;所述用户鉴权方法包括如下步骤:在非关系型数据库中查询用户的账号状态,所述账号状态包括所述第一限制状态和所述第二限制状态;若所述账号状态为所述第一限制状态,则强制用户重新登陆;若所述账号状态为所述第二限制状态,则至关系型数据库中校验该用户是否存在任意权限处于冻结状态,若是,则禁止该用户访问,若否,则允许该用户访问。
6.优选的,所述角色包括用户所关联的职位、和用户所属的机构;所述用户所关联的多个所述角色的多个所述权限中的一个处于更改状态,则当前用户位于第一限制状态包括:用户所关联的职位和/或用户所属的机构的多个所述权限中的一个处于更改状态,则当前用户位于第一限制状态;所述用户所关联的多个所述角色的多个所述权限中的一个处于冻结状态,则当前用户位于第二限制状态包括:用户所关联的职位和/或用户所属的机构的多个所述权限中的一个处于冻结状态,则当前用户位于第二限制状态。
7.优选的,所述在非关系型数据库中查询用户的账号状态之前还包括:在非关系型数据库中查询用户的登录令牌;若查询到该用户的所述登录令牌,则继续在非关系型数据库中查询用户的账号状态;若未查询到该用户的所述登录令牌,则禁止该用户访问。
8.优选的,所述账号状态还包括正常状态和冻结状态;所述在非关系型数据库中查
询用户的账号状态包括:若所述账号状态为所述正常状态,则允许该用户访问;若所述账号状态为所述冻结状态,则禁止该用户访问。
9.优选的,所述至关系型数据库中校验该用户是否存在任意权限处于冻结状态还包括:将在所述关系型数据库中查询到的所述账号状态保存至非关系型数据库中。
10.优选的,所述在非关系型数据库中查询用户的账号状态之前还包括:查询非关系型数据库中是否可用;若可用,则在非关系型数据库中查询用户的账号状态;若不可用,则在关系型数据库中查询用户的账号状态。
11.本发明还公开了一种用于交通管理领域的用户鉴权方法,包括上述的用户鉴权方法;所述用户所属的机构包括服务区、收费站、停车区、监控中心、养护中心;在非关系型数据库中以第一预设时间刷新关联所述监控中心的用户的所述账号状态,以第二预设时间刷新关联所述服务区、收费站、停车区、养护中心的用户的所述账号状态;所述第一预设时间小于所述第二预设时间。
12.本发明还公开了一种用户鉴权系统,包括关系型数据库和非关系型数据库;用户关联一个或多个角色,每个角色配置一个或多个权限;用户所关联的多个所述角色的多个所述权限中的一个处于更改状态,则当前用户位于第一限制状态;用户所关联的多个所述角色的多个所述权限中的一个处于冻结状态,则当前用户位于第二限制状态;在非关系型数据库中查询用户的账号状态,所述账号状态包括所述第一限制状态和所述第二限制状态;若所述账号状态为所述第一限制状态,则强制用户重新登陆;若所述账号状态为所述第二限制状态,则至关系型数据库中校验该用户是否存在任意权限处于冻结状态,若是,则禁止该用户访问,若否,则允许该用户访问。
13.本发明还公开了服务器,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述的用户鉴权方法。
14.采用了上述技术方案后,与现有技术相比,具有以下有益效果:
15.1.通过识别用户的账号状态来判断是否需要重新登陆,而不是任何角色、权限变化都需要重新登陆;且将账号状态的查询放入非关系型数据库,查询速度快,缩短用户等待时间,增加了用户的体验感;
16.2.当非关系型数据库不可使用时,则至关系型数据库中查询,两数据库结合,交替使用,提高校验效率,减少检测时间,提高用户体验。
附图说明
17.图1为本发明提供的账号状态的变化示意图;
18.图2为本发明提供的用户鉴权方法的流程示意图。
具体实施方式
19.以下结合附图与具体实施例进一步阐述本发明的优点。
20.这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
21.在本公开使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本公开。在本公开和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
22.应当理解,尽管在本公开可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本公开范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在
……
时”或“当
……
时”或“响应于确定”。
23.在本发明的描述中,需要理解的是,术语“纵向”、“横向”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
24.在本发明的描述中,除非另有规定和限定,需要说明的是,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是机械连接或电连接,也可以是两个元件内部的连通,可以是直接相连,也可以通过中间媒介间接相连,对于本领域的普通技术人员而言,可以根据具体情况理解上述术语的具体含义。
25.在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本发明的说明,其本身并没有特定的意义。因此,“模块”与“部件”可以混合地使用。
26.基于角色的访问控制(rbac)是实施面向企业安全策略的一种有效的访问控制方式,由3个基础组成部分,分别是:用户、角色和权限。区别于访问控制技术(acl),rbac通过定义角色的权限,并对用户授予某个角色从而来控制用户的权限,实现了用户和权限的逻辑分离,极大地方便了权限的管理。在rbac中,每个用户都具备的唯一的用户账号的识别,并被授予不同的角色,不同角色具有不同的权限,权限通常指的是访问权限。还包括用户和角色之间的映射关系,以及角色和权限之间的映射关系。
27.例如,用户包括用户1和用户2,用户1的角色是管理者,用户2的角色是普通用户,则用户1可以配置有创建用户权限、冻结用户权限、修改个人信息权限、查看个人介绍权限。而用户2则只能配置修改个人信息权限、查看个人介绍权限。
28.鉴权指验证用户是否拥有访问系统的权利。
29.关系型数据库最典型的数据结构是表,是由二维表及其之间的联系所组成的一个数据组织。其优点在于:1、易于维护:都是使用表结构,格式一致;2、使用方便:sql语言通用,可用于复杂查询;3、复杂操作:支持sql,可用于一个表以及多个表之间非常复杂的查询。其缺点在于:1、读写性能比较差,尤其是海量数据的高效率读写;2、固定的表结构,灵活度稍欠;3、高并发读写需求,传统关系型数据库来说,硬盘i/o是一个很大的瓶颈。
30.非关系型数据库严格上不是一种数据库,应该是一种数据结构化存储方法的集合,可以是文档或者键值对等。其优点在于:1、格式灵活:存储数据的格式可以是key,value形式、文档形式、图片形式等等,文档形式、图片形式等等,使用灵活,应用场景广泛,而关系
型数据库则只支持基础类型。2、速度快:nosql可以使用硬盘或者随机存储器作为载体,而关系型数据库只能使用硬盘;3、高扩展性;4、成本低:nosql数据库部署简单,基本都是开源软件。其缺点在于:1、不提供sql支持,学习和使用成本较高;2、无事务处理;3、数据结构相对复杂,复杂查询方面稍欠。
31.通常用户数据是存储在关系型数据库当中的,但是关系型数据库查询慢,因此本发明将有的数据放到非关系型数据库当中存储,查询速度快。非关系数据库虽然查询快,但是一般非关系型数据库不适合长期存储数据,因此本发明将两种数据库结合起来存储用户数据。优先使用非关系型数据库,当非关系型数据库不可使用、或非关系型数据库中未查询到相关数据,则至关系型数据库进行查询。
32.通常用户关联了至少一个角色,每个角色又配置有一个或多个权限,当某一个权限发生变动,通常现有技术都需要用户重新登陆。本发明则是通过获取用户当前的状态来判断是否需要重新登陆,而不是所有状态都要用户重新登陆。
33.参见附图1,首先在本发明定义了:正常状态;冻结状态;第一限制状态;第二限制状态。当用户被冻、或者用户关联的其他属性被冻结之后用户变成被冻结状态。用户所关联的多个角色的多个权限中的一个处于更改状态,则当前用户位于第一限制状态;用户所关联的多个角色的多个权限中的一个处于冻结状态,则当前用户位于第二限制状态。
34.可以理解为,如果用户所关联的角色的权限发送变动,那么该角色关联的所有用户将处于权限变动状态,该状态称为第一限制状态。用户被冻结之后如果关联的任意一个属性被解冻,但不确定多个属性中的哪一项属性解冻,也不确定其他项是否还处于被冻结状态,因此解冻之后的用户状态未知,该状态称为第二限制状态。
35.因为权限变动属于敏感操作,因此本发明在用户的账号状态为第一限制状态(权限变动状态)时才需要用户重新登录以恢复到正常状态。而当位于第二限制状态(未知状态)时,则需要进一步至关系型数据库中校验用户状态。
36.具体的,参见附图2,用户鉴权方法包括如下步骤:
37.在非关系型数据库中查询用户的账号状态:
38.若账号状态为正常状态,则允许该用户访问;
39.若账号状态为冻结状态,则禁止该用户访问;
40.若账号状态为第一限制状态,则强制用户重新登陆;
41.若账号状态为第二限制状态,则至关系型数据库中校验该用户是否存在任意权限处于冻结状态,若是,则禁止该用户访问,若否,则允许该用户访问。
42.本发明首先不用任何变动就强制用户重新登陆,提高了用户的体验感;也不用任何变动都校验用户所变化的权限,而是仅在用户状态为第二限制状态才进一步校验,提高了校验速度;并且,查询用户状态是在非关系型数据库中进行,查询速度快。本发明解决当用户登录之后权限发送变动,减少重新登录,并减少用户等到响应时间,提高用户体验。
43.较佳的,继续参见附图1,角色包括用户所关联的职位、和用户所属(所关联)的机构。用户被冻结、或用户所关联的职位被冻结、或用户所关联的机构被冻结,则用户由正常状态变成冻结状态。用户所关联的职位和/或用户所属的机构的多个权限中的一个处于更改状态,则当前用户位于第一限制状态。用户解冻、或用户所关联的职位解冻、或用户所关联的机构解冻(但不确定是哪一属性解冻、也不确定其他属性是否解冻),则用户由冻结状
态变成第二限制状态。
44.用户的操作通常需要携带用户标识,这个标识通常是登录之后系统颁发的token信息(在计算机中为“令牌”的术语表示),用来标识当时用户的登录令牌,该登录令牌也与用户的账号状态一样,存放到非关系型数据库当中,查询速度快,处理速度也快。
45.继续参见附图1,在鉴权的时候先查询非关系型数据库当中有没有该token,如果没有,则禁止该用户访问,若有,才开始查询用户的账号状态。
46.较佳的,当在关系型数据库中校验该用户是否存在任意权限处于冻结状态时,还将在关系型数据库中查询到的账号状态保存至非关系型数据库中。
47.关系型数据库配合非关系型数据库起来一起使用,如果非关系型数据库不能访问,则可以访问关系型数据库,实现高可用的目的。
48.本发明还公开了一种用于交通管理领域的用户鉴权方法,交通领域高速公路运营管理部下面有多个管理处和管理分处,每个管理处下面又管理多条高速公路,管理处下面有多个服务区、收费站、停车区、监控中心、养护中心等等多个职能部门,每个职能部门有有众多管理人员,而且有的人员可能身兼数职,在不同的部门里面工作,即一个用户关联有多个角色,每个角色由于所处部门不同、级别不同等又具备不同的权限。
49.一种优选的,在非关系型数据库中以第一预设时间刷新关联监控中心的用户的账号状态,以第二预设时间刷新关联服务区、收费站、停车区、养护中心的用户的账号状态,且第一预设时间小于第二预设时间,即对于权限较多、层级较高的监控中心的用户,刷新速度相比于服务区、收费站、停车区、养护中心的用户要更快。
50.本发明还公开了一种用户鉴权系统,包括关系型数据库和非关系型数据库。用户关联一个或多个角色,每个角色配置一个或多个权限。
51.用户所关联的多个角色的多个权限中的一个处于更改状态,则当前用户位于第一限制状态。用户所关联的多个角色的多个权限中的一个处于冻结状态,则当前用户位于第二限制状态。
52.在非关系型数据库中查询用户的账号状态:
53.若账号状态为第一限制状态,则强制用户重新登陆;
54.若账号状态为第二限制状态,则至关系型数据库中校验该用户是否存在任意权限处于冻结状态,若是,则禁止该用户访问,若否,则允许该用户访问。
55.本发明还公开了服务器,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时实现上述的用户鉴权方法。
56.应当注意的是,本发明的实施例有较佳的实施性,且并非对本发明作任何形式的限制,任何熟悉该领域的技术人员可能利用上述揭示的技术内容变更或修饰为等同的有效实施例,但凡未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何修改或等同变化及修饰,均仍属于本发明技术方案的范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1