CN114201778A - 一种基于Redis的权限认证方法、系统、介质及设备 - Google Patents
一种基于Redis的权限认证方法、系统、介质及设备 Download PDFInfo
- Publication number
- CN114201778A CN114201778A CN202210148436.XA CN202210148436A CN114201778A CN 114201778 A CN114201778 A CN 114201778A CN 202210148436 A CN202210148436 A CN 202210148436A CN 114201778 A CN114201778 A CN 114201778A
- Authority
- CN
- China
- Prior art keywords
- login
- command
- user
- current
- login account
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24552—Database cache management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Data Mining & Analysis (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Storage Device Security (AREA)
Abstract
本发明提供了一种基于Redis的权限认证方法、系统、介质及设备。该方案包括输入当前用户的登入账户和登入密码,根据登入账户信息进行在线分析,判断当前登入账户等级;获取当前验证时刻和当前登入账户等级,判断登入账户信息验证是否成功,发出验证失败命令或验证成功命令;发起权限判断请求,通过Redis完成用户权限的更新和判断,并返回权限判断结果;发出登出消息,权限认证服务订阅Redis接收的登出消息;在接收到登出消息后,根据当前登入账户等级进行目标清除命令的设置;根据目标清除命令进行用户权限的清除。该方案通过多等级多时段自适应的在线验证结合使用Redis的发布与订阅功能实现多节点本地内存同步,实现简单、稳定、高效账户认证。
Description
技术领域
本发明涉及权限认证技术领域,更具体地,涉及一种基于Redis的权限认证方法、系统、介质及设备。
背景技术
随着互联网技术的发展,越来越多的系统已经演变为具有庞大的子系统的分布式系统结构。这种情况下,虽然能够针对性对单个领域或单个类型的业务进行单独的执行,能够提升对应单类型业务执行效率,同时由于系统庞大信息全面,使得查询信息更加容易。
在本发明技术之前,各个子系统的权限是分散管理的。现有的平台的主要的有统一登录入口,登录成功后生成Token,用户跳转子系统时Token放入Http Header中,目标子系统从Http Header中获取Token,Token验证通过后,解析出用户标识再根据本系统的权限进行访问判断,判断通过后可以访问对应的应用。有些在每次判断时都会查询数据库,有些会在首次访问时进行本地缓存。这种情况下,导致现有的技术存在如下问题:每个子系统都要建设用户、角色、权限相关的基础模块,增加了不必要的开发成本。
发明内容
鉴于上述问题,本发明提出了一种基于Redis的权限认证方法、系统、介质及设备,通过多等级多时段自适应的在线验证结合使用Redis的发布与订阅功能实现多节点本地内存同步,实现简单、稳定、高效账户认证。
根据本发明实施例第一方面,提供一种基于Redis的权限认证方法。
在一个或多个实施例中,优选地,所述一种基于Redis的权限认证方法包括:
输入当前用户的登入账户和登入密码,根据登入账户信息进行在线分析,判断当前登入账户等级;
获取当前验证时刻和所述当前登入账户等级,判断登入账户信息验证是否成功,发出验证失败命令或验证成功命令;
发起权限判断请求,通过Redis完成用户权限的更新和判断,并返回权限判断结果;
发出登出消息,权限认证服务订阅Redis接收的所述登出消息;
在接收到所述登出消息后,根据所述当前登入账户等级进行目标清除命令的设置;
根据所述目标清除命令进行所述用户权限的清除。
在一个或多个实施例中,优选地,所述输入当前用户的登入账户和登入密码,根据登入账户信息进行在线分析,判断当前登入账户等级,具体包括:
输入当前用户的登入账户名称信息和登入密码;
提取所述登入账户名称信息,进行在线分析,获得登入信息首数字序列、登入信息长度、登入信息类型数;
根据所述登入信息首数字序列、所述登入信息长度、所述登入信息类型数利用第一计算公式获得登入分析指标;
根据所述登入分析指标利用第二计算公式判断所述当前登入账户等级是否为一类等级账户;
根据所述登入分析指标利用第三计算公式判断所述当前登入账户等级是否为二类等级账户;
根据所述登入分析指标利用第四计算公式判断所述当前登入账户等级是否为三类等级账户;
所述第一计算公式为:
K=A×L+S
其中,K为所述登入分析指标,A为所述登入信息类型数,L为所述登入信息长度,S为所述登入信息首数字序列;
所述第二计算公式为:
P=1,K<20
其中,P为所述当前登入账户等级;
所述第三计算公式为:
P=2,40>K≥20
所述第四计算公式为:
P=3,K≥40
在一个或多个实施例中,优选地,所述获取当前验证时刻和所述当前登入账户等级,判断登入账户信息验证是否成功,发出验证失败命令或验证成功命令,具体包括:
获取所述当前验证时刻和所述当前登入账户等级;
当所述当前登入账户等级为所述一类等级账户时,获得末次成功登入时间节点;
当所述当前登入账户等级为所述二类等级账户时,获得所述末次成功登入时间节点;
当所述当前登入账户等级为所述三类等级账户时,获得保存命令、保存时间段;
利用第五计算公式计算第一类剩余时间,当所述第一类剩余时间大于预设的第一裕度时,发出验证失败命令;
利用第六计算公式计算第二类剩余时间,当所述第二类剩余时间大于预设的第二裕度时,发出验证失败命令;
利用第七计算公式计算第三类剩余次数,当所述第三类剩余次数小于预设的第三裕度时,发出验证失败命令;
若为发出验证失败命令,则发出验证成功命令;
所述第五计算公式为:
T1=T-M
其中,T 为所述当前验证时刻,T1为所述第一类剩余时间,M为所述末次成功登入时间节点;
所述第六计算公式为:
T2=E-Td
其中,T2为所述第二类剩余时间,E为末次密码记录时间节点,Td为第二预设时间长度;
所述第七计算公式为:
T3= COUNT {Y>0& [(T-TY)>D]}
其中,T3为所述第三类剩余次数,Y为所述保存命令,TY为发出所述保存命令的时间,D为所述保存时间段, COUNT {}为计数函数。
在一个或多个实施例中,优选地,所述发起权限判断请求,通过Redis完成用户权限的更新和判断,并返回权限判断结果,具体包括:
发起权限判断请求,所述权限认证服务判断本地内存是否缓存了所述用户权限,其中,所述用户权限中包括所述保存时间段;
若未缓存所述用户权限,则在权限管理服务获取当前所述用户权限后将所述用户权限保存到所述本地内存中,若缓存了所述用户权限,则直接将所述用户权限保存到所述本地内存中;
读取所述用户权限,所述权限认证服务将所述用户权限发布到Redis中;
在Redis接受到发布的所述用户权限后,所述权限认证服务订阅权限Topic;
更新所述用户权限到所述本地内存中;
根据所述本地内存中的所述用户权限返回判断结果。
在一个或多个实施例中,优选地,所述发出登出消息,权限认证服务订阅Redis接收的所述登出消息,具体包括:
用户选择登出;
发出用户登出系统命令,生成为所述登出消息;
将所述登出消息发送至Redis;
Redis接收所述登出消息,所述权限认证服务订阅Redis中的所述登出消息。
在一个或多个实施例中,优选地,所述在接收到所述登出消息后,根据所述当前登入账户等级进行目标清除命令的设置,具体包括:
获取所述用户权限和所述当前登入账户等级;
当所述当前登入账户等级为所述一类等级账户时,发出第一清除命令;
当所述当前登入账户等级为所述二类等级账户时,发出第二清除命令;
当所述当前登入账户等级为所述三类等级账户时,发出第三清除命令,并根据所述用户权限提取其中预先设置的所述保存时间段;
将所述第一清除命令、所述第二清除命令、所述第三清除命令按照预设的时间周期打包为所述目标清除命令。
在一个或多个实施例中,优选地,所述根据所述目标清除命令进行所述用户权限的清除,具体包括:
获取所述目标清除命令、所述用户权限和所述保存时间段;
当收到所述第一清除命令时,将所述用户权限保存,不做清除所述用户权限;
当收到所述第二清除命令时,将所述用户权限保存,并设置固定的预设清理周期自动清除所述用户权限;
当收到所述第三清除命令时,在所述用户权限中提取是否存在所述保存命令,若存在所述保存命令,则在计时所述保存时间段后,自动清除所述用户权限;
当收到所述第三清除命令时,在所述用户权限中提取是否存在所述保存命令,若不存在所述保存命令,立即清除所述用户权限。
根据本发明实施例第二方面,提供一种基于Redis的权限认证系统。
在一个或多个实施例中,优选地,所述一种基于Redis的权限认证系统包括:
用户登入模块,用于输入当前用户的登入账户和登入密码,根据登入账户信息进行在线分析,判断当前登入账户等级;
时间分析模块,用于获取当前验证时刻和所述当前登入账户等级,判断登入账户信息验证是否成功,发出验证失败命令或验证成功命令;
权限缓存模块,用于发起权限判断请求,通过Redis完成用户权限的更新和判断,并返回权限判断结果;
用户登出模块,用于发出登出消息,权限认证服务订阅Redis接收的所述登出消息;
分级处理模块,用于在接收到所述登出消息后,根据所述当前登入账户等级进行目标清除命令的设置;
状态清除模块,用于根据所述目标清除命令进行所述用户权限的清除。
根据本发明实施例第三方面,提供一种计算机可读存储介质,其上存储计算机程序指令,所述计算机程序指令在被处理器执行时实现如本发明实施例第一方面中任一项所述的方法。
根据本发明实施例第四方面,提供一种电子设备,包括存储器和处理器,所述存储器用于存储一条或多条计算机程序指令,其中,所述一条或多条计算机程序指令被所述处理器执行以实现本发明实施例第一方面中任一项所述的方法。
本发明的实施例提供的技术方案可以包括以下有益效果:
本发明方案,使用Redis的发布与订阅功能实现多节点本地内存同步,实现简单、稳定、高效账户认证。
本发明方案,通过多等级、多时间段的算法判断,完成对于账户权限的分级和自适应关联,提升账户可靠性。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一个实施例的一种基于Redis的权限认证方法的流程图。
图2是本发明一个实施例的一种基于Redis的权限认证方法中的输入当前用户的登入账户和登入密码,根据登入账户信息进行在线分析,判断当前登入账户等级的流程图。
图3是本发明一个实施例的一种基于Redis的权限认证方法中的获取当前验证时刻和所述当前登入账户等级,判断登入账户信息验证是否成功,发出验证失败命令或验证成功命令的流程图。
图4是本发明一个实施例的一种基于Redis的权限认证方法中的发起权限判断请求,通过Redis完成用户权限的更新和判断,并返回权限判断结果的流程图。
图5是本发明一个实施例的一种基于Redis的权限认证方法中的发出登出消息,权限认证服务订阅Redis接收的所述登出消息的流程图。
图6是本发明一个实施例的一种基于Redis的权限认证方法中的在接收到所述登出消息后,根据所述当前登入账户等级进行目标清除命令的设置的流程图。
图7是本发明一个实施例的一种基于Redis的权限认证方法中的根据所述目标清除命令进行所述用户权限的清除的流程图。
图8是本发明一个实施例的一种基于Redis的权限认证系统的结构图。
图9是本发明一个实施例中一种电子设备的结构图。
具体实施方式
在本发明的说明书和权利要求书及上述附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如101、102等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
随着互联网技术的发展,越来越多的系统已经演变为具有庞大的子系统的分布式系统结构。这种情况下,虽然能够针对性对单个领域或单个类型的业务进行单独的执行,能够提升对应单类型业务执行效率,同时由于系统庞大信息全面,使得查询信息更加容易。
在本发明技术之前,各个子系统的权限是分散管理的。现有的平台的主要的有统一登录入口,登录成功后生成Token,用户跳转子系统时Token放入Http Header中,目标子系统从Http Header中获取Token,Token验证通过后,解析出用户标识再根据本系统的权限进行访问判断,判断通过后可以访问对应的应用。有些在每次判断时都会查询数据库,有些会在首次访问时进行本地缓存。这种情况下,导致现有的技术存在如下问题:每个子系统都要建设用户、角色、权限相关的基础模块,增加了不必要的开发成本。
本发明实施例中,提供了一种基于Redis的权限认证方法、系统、介质及设备。该方案通过多等级多时段自适应的在线验证结合使用Redis的发布与订阅功能实现多节点本地内存同步,实现简单、稳定、高效账户认证。
根据本发明实施例第一方面,提供一种基于Redis的权限认证方法。
图1是本发明一个实施例的一种基于Redis的权限认证方法的流程图。
在一个或多个实施例中,优选地,所述一种基于Redis的权限认证方法包括:
S101、输入当前用户的登入账户和登入密码,根据登入账户信息进行在线分析,判断当前登入账户等级;
S102、 获取当前验证时刻和所述当前登入账户等级,判断登入账户信息验证是否成功,发出验证失败命令或验证成功命令;
S103、发起权限判断请求,通过Redis完成用户权限的更新和判断,并返回权限判断结果;
S104、发出登出消息,权限认证服务订阅Redis接收的所述登出消息;
S105、在接收到所述登出消息后,根据所述当前登入账户等级进行目标清除命令的设置;
S106、根据所述目标清除命令进行所述用户权限的清除。
在本发明实施例中,由于在权限认证过程中,存在不同的类型的账户,因此根据账户的登入账户信息进行必要的加密等级的约束,并结合加密等级进行一系列的时间分析和权限分析,最终实现在线的利用Redis进行由针对性的关联,一方面提高了效率,另一方面能够保障系统安全性。其中,Redis通常被称为数据结构服务器。
图2是本发明一个实施例的一种基于Redis的权限认证方法中的输入当前用户的登入账户和登入密码,根据登入账户信息进行在线分析,判断当前登入账户等级的流程图。
如图2所示,在一个或多个实施例中,优选地,所述输入当前用户的登入账户和登入密码,根据登入账户信息进行在线分析,判断当前登入账户等级,具体包括:
S201、输入当前用户的登入账户名称信息和登入密码;
S202、提取所述登入账户名称信息,进行在线分析,获得登入信息首数字序列、登入信息长度、登入信息类型数;
S203、根据所述登入信息首数字序列、所述登入信息长度、所述登入信息类型数利用第一计算公式获得登入分析指标;
S204、根据所述登入分析指标利用第二计算公式判断所述当前登入账户等级是否为一类等级账户;
S205、根据所述登入分析指标利用第三计算公式判断所述当前登入账户等级是否为二类等级账户;
S206、根据所述登入分析指标利用第四计算公式判断所述当前登入账户等级是否为三类等级账户;
所述第一计算公式为:
K=A×L+S
其中,K为所述登入分析指标,A为所述登入信息类型数,L为所述登入信息长度,S为所述登入信息首数字序列;
所述第二计算公式为:
P=1,K<20
其中,P为所述当前登入账户等级;
所述第三计算公式为:
P=2,40>K≥20
所述第四计算公式为:
P=3,K≥40
在本发明实施例中,在账户登入后,会进行账户密码的输入,在没有进行密码验证之前,登入账户的信息也存储了很多关键信息,在此方案中对于登入账户的设置需要与此方案配合,登入账户必须按照预设的方式进行设置,具体的,针对不同的等级账户的账户,具体包括了一类账户等级、二类账户等级、三类账户等级,通过具体的首个数字的序列、登入信息长度、登入信息中包括多少类型代码(举例说明,大写、小写、数字、字母、特殊字符合计为5类)。不同等级账户在设置账户名称时,已经限定了账户名的设置规则,进而限定了账户类型。
图3是本发明一个实施例的一种基于Redis的权限认证方法中的获取当前验证时刻和所述当前登入账户等级,判断登入账户信息验证是否成功,发出验证失败命令或验证成功命令的流程图。
如图3所示,在一个或多个实施例中,优选地,所述获取当前验证时刻和所述当前登入账户等级,判断登入账户信息验证是否成功,发出验证失败命令或验证成功命令,具体包括:
S301、获取所述当前验证时刻和所述当前登入账户等级;
S302、当所述当前登入账户等级为所述一类等级账户时,获得末次成功登入时间节点;
S303、当所述当前登入账户等级为所述二类等级账户时,获得所述末次成功登入时间节点;
S304、当所述当前登入账户等级为所述三类等级账户时,获得保存命令、保存时间段;
S305、利用第五计算公式计算第一类剩余时间,当所述第一类剩余时间大于预设的第一裕度时,发出验证失败命令;
S306、利用第六计算公式计算第二类剩余时间,当所述第二类剩余时间大于预设的第二裕度时,发出验证失败命令;
S307、利用第七计算公式计算第三类剩余次数,当所述第三类剩余次数小于预设的第三裕度时,发出验证失败命令;
S308、若为发出验证失败命令,则发出验证成功命令;
所述第五计算公式为:
T1=T-M
其中,T 为所述当前验证时刻,T1为所述第一类剩余时间,M为所述末次成功登入时间节点;
所述第六计算公式为:
T2=E-Td
其中,T2为所述第二类剩余时间,E为末次密码记录时间节点,Td为第二预设时间长度;
所述第七计算公式为:
T3= COUNT {Y>0& [(T-TY)>D]}
其中,T3为所述第三类剩余次数,Y为所述保存命令,TY为发出所述保存命令的时间,D为所述保存时间段。
在本发明实施例中,在进行账户验证时,对于时间的验证是关键之一,重要的指标是这个账户的密码是否还是时间有效的。因此,对于三类型的账户等级,分别进行了不同的认证方式。对于一类账户等级,认证主要是在满足第五计算公式的第一类剩余时间,是否是大于预设裕度的,举例说明第一裕度可以为1,那就意味着要求在末次成功登入时间节点在一小时内就还是有效的验证,否则则验证失败;对于二类账户,通过分析最后一次密码记录的时间点与预设时间段的关系,比如,第二预设时间长度为10分钟,末次密码记录时间节点2020年10月0时0。
图4是本发明一个实施例的一种基于Redis的权限认证方法中的发起权限判断请求,通过Redis完成用户权限的更新和判断,并返回权限判断结果的流程图。
如图4所示,在一个或多个实施例中,优选地,所述发起权限判断请求,通过Redis完成用户权限的更新和判断,并返回权限判断结果,具体包括:
S401、发起权限判断请求,所述权限认证服务判断本地内存是否缓存了所述用户权限,其中,所述用户权限中包括所述保存时间段;
S402、若未缓存所述用户权限,则在权限管理服务获取当前所述用户权限后将所述用户权限保存到所述本地内存中,若缓存了所述用户权限,则直接将所述用户权限保存到所述本地内存中;
S403、读取所述用户权限,所述权限认证服务将所述用户权限发布到Redis中;
S404、在Redis接受到发布的所述用户权限后,所述权限认证服务订阅权限Topic;
S405、更新所述用户权限到所述本地内存中;
S406、根据所述本地内存中的所述用户权限返回判断结果。
在本发明实施例中,权限认证服务首先判断本地内存中是否缓存了用户权限,如果没有缓存则调用权限管理服务接口,获取用户权限放入本地内存中。同时将用户权限发布到Redis中,其他订阅了权限Topic的应用节点会收到改用户的权限,保存到本地内存中,实现了多节点本地内存的同步。如果本地内存中缓存了用户权限,则根据缓存的数据进行权限判断并返回结果。
图5是本发明一个实施例的一种基于Redis的权限认证方法中的发出登出消息,权限认证服务订阅Redis接收的所述登出消息的流程图。
如图5所示,在一个或多个实施例中,优选地,所述发出登出消息,权限认证服务订阅Redis接收的所述登出消息,具体包括:
S501、用户选择登出;
S502、发出用户登出系统命令,生成为所述登出消息;
S503、 将所述登出消息发送至Redis;
S504、Redis接收所述登出消息,所述权限认证服务订阅Redis中的所述登出消息。
在本发明实施例中,登出过程的最初是进行命令的生成,并根据生成的命令,发出所述登出消息。
图6是本发明一个实施例的一种基于Redis的权限认证方法中的在接收到所述登出消息后,根据所述当前登入账户等级进行目标清除命令的设置的流程图。
如图6所示,在一个或多个实施例中,优选地,所述在接收到所述登出消息后,根据所述当前登入账户等级进行目标清除命令的设置,具体包括:
S601、获取所述用户权限和所述当前登入账户等级;
S602、当所述当前登入账户等级为所述一类等级账户时,发出第一清除命令;
S603、当所述当前登入账户等级为所述二类等级账户时,发出第二清除命令;
S604、当所述当前登入账户等级为所述三类等级账户时,发出第三清除命令,并根据所述用户权限提取其中预先设置的所述保存时间段;
S605、将所述第一清除命令、所述第二清除命令、所述第三清除命令按照预设的时间周期打包为所述目标清除命令。
在本发明实施例中,在收到登出消息后,不同的级别账户做出不同的清除命令,这些清除方式将会保证不同加密级别下的账户对于缓存中的数据处理方式的不同,进而保障高等级账户信息。
图7是本发明一个实施例的一种基于Redis的权限认证方法中的根据所述目标清除命令进行所述用户权限的清除的流程图。
如图7所示,在一个或多个实施例中,优选地,所述根据所述目标清除命令进行所述用户权限的清除,具体包括:
S701、获取所述目标清除命令、所述用户权限和所述保存时间段;
S702、当收到所述第一清除命令时,将所述用户权限保存,不做清除所述用户权限;
S703、当收到所述第二清除命令时,将所述用户权限保存,并设置固定的预设清理周期自动清除所述用户权限;
S704、当收到所述第三清除命令时,在所述用户权限中提取是否存在所述保存命令,若存在所述保存命令,则在计时所述保存时间段后,自动清除所述用户权限;
S705、当收到所述第三清除命令时,在所述用户权限中提取是否存在所述保存命令,若不存在所述保存命令,立即清除所述用户权限。
在本发明实施例中,在进行具体的清除设置时,针对与第三清除命令,重点考虑了保存命令和保存时间段的效果,进行自适应的配合,清除过程称为与前面登入、时间分析和权限管理的配套体系。
根据本发明实施例第二方面,提供一种基于Redis的权限认证系统。
图8是本发明一个实施例的一种基于Redis的权限认证系统的结构图。
在一个或多个实施例中,优选地,所述一种基于Redis的权限认证系统包括:
用户登入模块801,用于输入当前用户的登入账户和登入密码,根据登入账户信息进行在线分析,判断当前登入账户等级;
时间分析模块802,用于获取当前验证时刻和所述当前登入账户等级,判断登入账户信息验证是否成功,发出验证失败命令或验证成功命令;
权限缓存模块803,用于发起权限判断请求,通过Redis完成用户权限的更新和判断,并返回权限判断结果;
用户登出模块804,用于发出登出消息,权限认证服务订阅Redis接收的所述登出消息;
分级处理模块805,用于在接收到所述登出消息后,根据所述当前登入账户等级进行目标清除命令的设置;
状态清除模块806,用于根据所述目标清除命令进行所述用户权限的清除。
在本发明实施例中,为了能够可靠执行具体的权限管理的方法,设置为模块化的系统结构,实现对于整个系统的统一管理。
根据本发明实施例第三方面,提供一种计算机可读存储介质,其上存储计算机程序指令,所述计算机程序指令在被处理器执行时实现如本发明实施例第一方面中任一项所述的方法。
根据本发明实施例第四方面,提供一种电子设备。图9是本发明一个实施例中一种电子设备的结构图。图9所示的电子设备为通用权限认证装置,其包括通用的计算机硬件结构,其至少包括处理器901和存储器902。处理器901和存储器902通过总线903连接。存储器902适于存储处理器901可执行的指令或程序。处理器901可以是独立的微处理器,也可以是一个或者多个微处理器集合。由此,处理器901通过执行存储器902所存储的指令,从而执行如上所述的本发明实施例的方法流程实现对于数据的处理和对于其它装置的控制。总线903将上述多个组件连接在一起,同时将上述组件连接到显示控制器904和显示装置以及输入/输出(I/O)装置905。输入/输出(I/O)装置905可以是鼠标、键盘、调制解调器、网络接口、触控输入装置、体感输入装置、打印机以及本领域公知的其他装置。典型地,输入/输出装置905通过输入/输出(I/O)控制器906与系统相连。
本发明的实施例提供的技术方案可以包括以下有益效果:
本发明方案,使用Redis的发布与订阅功能实现多节点本地内存同步,实现简单、稳定、高效账户认证。
本发明方案,通过多等级、多时间段的算法判断,完成对于账户权限的分级和自适应关联,提升账户可靠性。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
1.一种基于Redis的权限认证方法,其特征在于,该方法包括:
输入当前用户的登入账户和登入密码,根据登入账户信息进行在线分析,判断当前登入账户等级;
获取当前验证时刻和所述当前登入账户等级,判断登入账户信息验证是否成功,发出验证失败命令或验证成功命令;
发起权限判断请求,通过Redis完成用户权限的更新和判断,并返回权限判断结果;
发出登出消息,权限认证服务订阅Redis接收的所述登出消息;
在接收到所述登出消息后,根据所述当前登入账户等级进行目标清除命令的设置;
根据所述目标清除命令进行所述用户权限的清除。
2.如权利要求1所述的一种基于Redis的权限认证方法,其特征在于,所述输入当前用户的登入账户和登入密码,根据登入账户信息进行在线分析,判断当前登入账户等级,具体包括:
输入当前用户的登入账户名称信息和登入密码;
提取所述登入账户名称信息,进行在线分析,获得登入信息首数字序列、登入信息长度、登入信息类型数;
根据所述登入信息首数字序列、所述登入信息长度、所述登入信息类型数利用第一计算公式获得登入分析指标;
根据所述登入分析指标利用第二计算公式判断所述当前登入账户等级是否为一类等级账户;
根据所述登入分析指标利用第三计算公式判断所述当前登入账户等级是否为二类等级账户;
根据所述登入分析指标利用第四计算公式判断所述当前登入账户等级是否为三类等级账户;
所述第一计算公式为:
K=A×L+S
其中,K为所述登入分析指标,A为所述登入信息类型数,L为所述登入信息长度,S为所述登入信息首数字序列;
所述第二计算公式为:
P=1,K<20
其中,P为所述当前登入账户等级;
所述第三计算公式为:
P=2,40>K≥20
所述第四计算公式为:
P=3,K≥40。
3.如权利要求2所述的一种基于Redis的权限认证方法,其特征在于,所述获取当前验证时刻和所述当前登入账户等级,判断登入账户信息验证是否成功,发出验证失败命令或验证成功命令,具体包括:
获取所述当前验证时刻和所述当前登入账户等级;
当所述当前登入账户等级为所述一类等级账户时,获得末次成功登入时间节点;
当所述当前登入账户等级为所述二类等级账户时,获得所述末次成功登入时间节点;
当所述当前登入账户等级为所述三类等级账户时,获得保存命令、保存时间段;
利用第五计算公式计算第一类剩余时间,当所述第一类剩余时间大于预设的第一裕度时,发出验证失败命令;
利用第六计算公式计算第二类剩余时间,当所述第二类剩余时间大于预设的第二裕度时,发出验证失败命令;
利用第七计算公式计算第三类剩余次数,当所述第三类剩余次数小于预设的第三裕度时,发出验证失败命令;
若为发出验证失败命令,则发出验证成功命令;
所述第五计算公式为:
T1=T-M
其中,T 为所述当前验证时刻,T1为所述第一类剩余时间,M为所述末次成功登入时间节点;
所述第六计算公式为:
T2=E-Td
其中,T2为所述第二类剩余时间,E为末次密码记录时间节点,Td为第二预设时间长度;
所述第七计算公式为:
T3= COUNT {Y>0& [(T-TY)>D]}
其中,T3为所述第三类剩余次数,Y为所述保存命令,TY为发出所述保存命令的时间,D为所述保存时间段。
4.如权利要求3所述的一种基于Redis的权限认证方法,其特征在于,所述发起权限判断请求,通过Redis完成用户权限的更新和判断,并返回权限判断结果,具体包括:
发起权限判断请求,所述权限认证服务判断本地内存是否缓存了所述用户权限,其中,所述用户权限中包括所述保存时间段;
若未缓存所述用户权限,则在权限管理服务获取当前所述用户权限后将所述用户权限保存到所述本地内存中,若缓存了所述用户权限,则直接将所述用户权限保存到所述本地内存中;
读取所述用户权限,所述权限认证服务将所述用户权限发布到Redis中;
在Redis接受到发布的所述用户权限后,所述权限认证服务订阅权限Topic;
更新所述用户权限到所述本地内存中;
根据所述本地内存中的所述用户权限返回判断结果。
5.如权利要求1所述的一种基于Redis的权限认证方法,其特征在于,所述发出登出消息,权限认证服务订阅Redis接收的所述登出消息,具体包括:
用户选择登出;
发出用户登出系统命令,生成为所述登出消息;
将所述登出消息发送至Redis;
Redis接收所述登出消息,所述权限认证服务订阅Redis中的所述登出消息。
6.如权利要求3所述的一种基于Redis的权限认证方法,其特征在于,所述在接收到所述登出消息后,根据所述当前登入账户等级进行目标清除命令的设置,具体包括:
获取所述用户权限和所述当前登入账户等级;
当所述当前登入账户等级为所述一类等级账户时,发出第一清除命令;
当所述当前登入账户等级为所述二类等级账户时,发出第二清除命令;
当所述当前登入账户等级为所述三类等级账户时,发出第三清除命令,并根据所述用户权限提取其中预先设置的所述保存时间段;
将所述第一清除命令、所述第二清除命令、所述第三清除命令按照预设的时间周期打包为所述目标清除命令。
7.如权利要求6所述的一种基于Redis的权限认证方法,其特征在于,所述根据所述目标清除命令进行所述用户权限的清除,具体包括:
获取所述目标清除命令、所述用户权限和所述保存时间段;
当收到所述第一清除命令时,将所述用户权限保存,不做清除所述用户权限;
当收到所述第二清除命令时,将所述用户权限保存,并设置固定的预设清理周期自动清除所述用户权限;
当收到所述第三清除命令时,在所述用户权限中提取是否存在所述保存命令,若存在所述保存命令,则在计时所述保存时间段后,自动清除所述用户权限;
当收到所述第三清除命令时,在所述用户权限中提取是否存在所述保存命令,若不存在所述保存命令,立即清除所述用户权限。
8.一种基于Redis的权限认证系统,其特征在于,该系统包括:
用户登入模块,用于输入当前用户的登入账户和登入密码,根据登入账户信息进行在线分析,判断当前登入账户等级;
时间分析模块,用于获取当前验证时刻和所述当前登入账户等级,判断登入账户信息验证是否成功,发出验证失败命令或验证成功命令;
权限缓存模块,用于发起权限判断请求,通过Redis完成用户权限的更新和判断,并返回权限判断结果;
用户登出模块,用于发出登出消息,权限认证服务订阅Redis接收的所述登出消息;
分级处理模块,用于在接收到所述登出消息后,根据所述当前登入账户等级进行目标清除命令的设置;
状态清除模块,用于根据所述目标清除命令进行所述用户权限的清除。
9.一种计算机可读存储介质,其上存储计算机程序指令,其特征在于,所述计算机程序指令在被处理器执行时实现如权利要求1-7中任一项所述的方法。
10.一种电子设备,包括存储器和处理器,其特征在于,所述存储器用于存储一条或多条计算机程序指令,其中,所述一条或多条计算机程序指令被所述处理器执行以实现如权利要求1-7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210148436.XA CN114201778B (zh) | 2022-02-18 | 2022-02-18 | 一种基于Redis的权限认证方法、系统、介质及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210148436.XA CN114201778B (zh) | 2022-02-18 | 2022-02-18 | 一种基于Redis的权限认证方法、系统、介质及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114201778A true CN114201778A (zh) | 2022-03-18 |
CN114201778B CN114201778B (zh) | 2022-05-17 |
Family
ID=80645673
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210148436.XA Active CN114201778B (zh) | 2022-02-18 | 2022-02-18 | 一种基于Redis的权限认证方法、系统、介质及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114201778B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111093197A (zh) * | 2019-12-31 | 2020-05-01 | 北大方正集团有限公司 | 权限认证方法、权限认证系统和计算机可读存储介质 |
WO2020087778A1 (zh) * | 2018-11-02 | 2020-05-07 | 深圳壹账通智能科技有限公司 | 多系统登录方法、装置、计算机设备和存储介质 |
CN111343145A (zh) * | 2020-02-03 | 2020-06-26 | 山东爱城市网信息技术有限公司 | 一种基于Redis的单点登录方法及装置 |
CN112653556A (zh) * | 2020-12-24 | 2021-04-13 | 光大兴陇信托有限责任公司 | 一种基于token的微服务安全认证方法、装置、存储介质 |
CN113271296A (zh) * | 2021-04-28 | 2021-08-17 | 北京沃东天骏信息技术有限公司 | 一种登录权限管理的方法和装置 |
-
2022
- 2022-02-18 CN CN202210148436.XA patent/CN114201778B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020087778A1 (zh) * | 2018-11-02 | 2020-05-07 | 深圳壹账通智能科技有限公司 | 多系统登录方法、装置、计算机设备和存储介质 |
CN111093197A (zh) * | 2019-12-31 | 2020-05-01 | 北大方正集团有限公司 | 权限认证方法、权限认证系统和计算机可读存储介质 |
CN111343145A (zh) * | 2020-02-03 | 2020-06-26 | 山东爱城市网信息技术有限公司 | 一种基于Redis的单点登录方法及装置 |
CN112653556A (zh) * | 2020-12-24 | 2021-04-13 | 光大兴陇信托有限责任公司 | 一种基于token的微服务安全认证方法、装置、存储介质 |
CN113271296A (zh) * | 2021-04-28 | 2021-08-17 | 北京沃东天骏信息技术有限公司 | 一种登录权限管理的方法和装置 |
Non-Patent Citations (1)
Title |
---|
佘识远: "统一的安全登录方案", 《知音励志》 * |
Also Published As
Publication number | Publication date |
---|---|
CN114201778B (zh) | 2022-05-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11356482B2 (en) | Message validation using machine-learned user models | |
US7966644B2 (en) | Method, apparatus, and computer program for managing access to documents | |
CN109314642B (zh) | 用区块链实施的用于安全投票和分配的计数系统和方法 | |
CN102685089B (zh) | 用于企业应用的可信设备声明的方法和客户机设备 | |
CN110166451B (zh) | 一种轻量级电子文档传递控制系统及方法 | |
CN111026578A (zh) | 一种基于预言机的智能合约安全检测方法 | |
CN103618652A (zh) | 一种业务数据的审计和深度分析系统及其方法 | |
CN103701783A (zh) | 一种预处理单元、由其构成的数据处理系统以及处理方法 | |
CN114096966A (zh) | 可扩展的、安全的、高效的和适应性强的分布式数字分类账交易网络 | |
CN109271445A (zh) | 利用区块链存储数据的方法、装置及电子设备 | |
CN111492355A (zh) | 用于控制和/或监控装置的方法和控制系统 | |
CN114363352A (zh) | 基于区块链的物联网系统跨链交互方法 | |
Gräbe et al. | Do not be fooled: Toward a holistic comparison of distributed ledger technology designs | |
CN115114305A (zh) | 分布式数据库的锁管理方法、装置、设备及存储介质 | |
CN112131002A (zh) | 数据管理方法及装置 | |
KR20230147761A (ko) | 블록체인 기반 데이터의 인증된 수정 | |
CN115270193A (zh) | 基于区块链及协同同步下的数据档案安全共享方法及装置 | |
CN114201778B (zh) | 一种基于Redis的权限认证方法、系统、介质及设备 | |
CN113904821A (zh) | 一种身份认证方法及装置、可读存储介质 | |
WO2018013124A1 (en) | Digital asset platform | |
Wels | Guaranteed-TX: The exploration of a guaranteed cross-shard transaction execution protocol for Ethereum 2.0. | |
CN106529216B (zh) | 一种基于公共存储平台的软件授权系统及软件授权方法 | |
CN107133499A (zh) | 一种软件版权保护方法、客户端、服务端以及系统 | |
CN115412263B (zh) | 一种基于双重盲化的拜占庭容错共识方法 | |
CN110677494B (zh) | 访问响应方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |