用户权限鉴定方法及系统和计算机设备技术方案

技术编号:17350138 阅读:28 留言:0更新日期:2018-02-25 18:47
本发明专利技术提供了一种用户权限鉴定方法及系统和计算机设备。其中,一种用户权限鉴定方法,包括:获取用户信息及用户权限资源信息,并存储到令牌信息中;对令牌信息进行加密,生成令牌;将令牌和令牌信息写入到浏览器的Cookie中;接收浏览器发送的请求;读取浏览器的Cookie中的当前令牌和当前令牌信息;根据当前令牌对浏览器的Cookie进行可信性验证。本发明专利技术提供用户权限鉴定方法,使得权限信息适合通过Cookie进行网络传递,从而彻底实现无状态化解决了存储在浏览器端的Cookie中可信问题,避免了相关技术中采用超大规模集群下会话复制带来的性能问题和集中式会话管理形成单点问题。

User rights identification method and system and computer equipment

The present invention provides a user authority identification method and system and computer equipment. Among them, including a user identification method: obtaining user information and user information resources, and stored in the token information; the token information is encrypted to generate the token; write the token information to the browser in the Cookie browser; receiving the request sent by the browser in Cookie; read the current token and the current token information; credibility verification according to the Cookie of the current token browser. The present invention provides user identification method, the permission information for network transmission through Cookie, thereby realize no state solution to the storage of trusted in the browser Cookie, to avoid the related technology using single point forming performance problems and centralized session management session replication brings large scale clusters.

【技术实现步骤摘要】
用户权限鉴定方法及系统和计算机设备
本专利技术涉及大数据
,具体而言,涉及一种用户权限鉴定方法,一种用户权限鉴定系统,一种计算机设备,一种计算机可读存储介质。
技术介绍
在web应用中一般使用http协议进行通信,由于http的无状态的特征,在鉴权的时候依赖会话(Session)机制:即将用户的登录状态和权限信息存储在会话中。为了实现对应对大规模访问,必须实现应用的集群部署。要实现集群部署主要需要实现多台应用服务器之间会话统一。Tomcat、WEBLogic、WebSphere等多数主流web服务器都采用了session复制机制,session复制网络拓扑结构如图1所示。session在服务器之间通过广播进行复制,适用于机器数量较少,网络流量较小的场景下,但在分布式环境下,随着节点数量的增加,其性能问题就暴露出来了,具体来说有以下几点:在节点持续增多的情况下,session复制带来的性能损失会快速增加,特别是当session中保存了较大的对象,而且对象变化较快时,性能下降更加显著。这种特性使得web应用的水平扩展受到了限制。此外广播式复制到其余机器存在一定的廷时,会带来一定的网络开销。另一种方案就是把会话集中起来管理。当用户访问不同节点时直接从数据库或者分布式缓存中获取会话信息,采用数据库或者分布式缓存来集中存储会话,加大数据库或者分布式缓存系统的负担,又形成新的单点。相关技术的解决方案中将用户权限存储在服务器端的会话中,主要原因有两点:1、信息存储在浏览器端的Cookie中不可信,易被篡改;2、权限信息太大,在企业级系统中单个用户会有几百甚至上千种权限的资源权限,而Cookie的大小有限,并且大量的Cookie会影响传输速度。因此,如何提出一种无状态、不利用会话来鉴定登录用户权限的方法及装置,成为目前亟待解决的技术问题。
技术实现思路
本专利技术旨在至少解决现有技术或相关技术中存在的技术问题之一。为此,本专利技术的一方面在于提出了一种用户权限鉴定方法。本专利技术的另一方面在于提出了一种用户权限鉴定系统。本专利技术的再一方面在于提出了一种计算机设备。本专利技术的又一方面在于提出了一种计算机可读存储介质。有鉴于此,本专利技术的一方面,提出了一种用户权限鉴定方法,包括:获取用户信息及用户权限资源信息,并存储到令牌信息中;对令牌信息进行加密,生成令牌;将令牌和令牌信息写入到浏览器的Cookie中;接收浏览器发送的请求;读取浏览器的Cookie中的当前令牌和当前令牌信息;根据当前令牌对浏览器的Cookie进行可信性验证。根据本专利技术的用户权限鉴定方法,在登录过程中,获取用户信息及用户权限资源信息,并存储到令牌信息中,通过对令牌信息进行加密,生成令牌,将令牌和令牌信息写入到浏览器的Cookie中,实现令牌的生成与分发,使得用户权限资源信息通过Cookie进行网络传递,每次浏览器发起请求,会将Cookie信息带到服务器端,通过读取Cookie中的当前令牌和当前令牌信息,并对当前令牌进行验证,解决了存储在浏览器端的Cookie中可信问题,同时,避免了相关技术中采用超大规模集群下会话复制带来的性能问题和集中式会话管理形成单点问题。另外,根据本专利技术上述的用户权限鉴定方法,还可以具有如下附加的技术特征:在上述技术方案中,优选地,获取用户信息及用户权限资源信息,并存储到令牌信息中的步骤,具体包括:将用户权限资源信息存储到布隆过滤器中;采用RLE算法对布隆过滤器进行压缩,并存储到令牌信息中。在该技术方案中,布隆过滤器(BloomFilter)是一种空间效率很高的随机数据结构,它利用位数组很简洁地表示一个集合,并能判断一个元素是否属于这个集合,BloomFilter存储1w种权限时仅需要5k的空间。RLE(RunLengthEncoding)算法,是一个针对无损压缩的非常简单的算法,它用重复字节和重复的次数来简单描述来代替重复的字节,运算速度快。本专利技术的技术方案,通过布隆过滤器和RLE压缩算法,极大的压缩权限资源,使得权限信息适合通过浏览器的Cookie进行网络传递,从而彻底实现无状态化。在上述任一技术方案中,优选地,还包括:在浏览器的Cookie可信的情况下,对当前令牌信息中的权限资源信息进行解压缩,得到权限资源信息集合;从浏览器发送的请求中获取对应的权限资源;判断权限资源是否在权限资源信息集合中;当判断结果为是时,则放行请求;当判断结果为否时,则返回第一错误页面。在该技术方案中,在浏览器的Cookie可信的情况下,通过将当前令牌中的权限资源解压缩,得到权限资源信息集合,从请求信息中获取到对应的权限资源,鉴定该权限资源是否在用户权限资源信息集合中,如果该权限资源属于权限资源信息集合,则放行,如果不属于,则返回第一错误页面。通过本专利技术的技术方案,在Cookie可信的情况下,进一步对请求信息中的权限资源进行鉴定,避免了没有权限的资源被放行,提升系统安全性。在上述任一技术方案中,优选地,根据当前令牌对浏览器的Cookie进行可信性验证的步骤,具体包括:判断当前令牌与令牌是否一致;若判断结果为不一致,则返回第二错误页面;若判断结果一致,则判定浏览器的Cookie可信。在该技术方案中,通过判断当前令牌与令牌是否一致,来验证Cookie的可信性,若当前令牌与令牌一致,则证明Cookie中传递的令牌是可信的,若当前令牌与令牌不一致,则证明Cookie中传递的令牌是伪造的,返回第二错误页面。在上述任一技术方案中,优选地,用户信息至少包括用户ID,以及以下任一项或其组合:登录系统时的时间戳,应用ID,租户code。在该技术方案中,用户信息至少包括用户ID,同时还可以包括以下任一项或其组合:登录系统时的时间戳,应用ID,租户code,但不限于此。在上述任一技术方案中,优选地,对令牌信息进行加密,生成令牌,具体为:采用HMAC算法对令牌信息进行加密。在该技术方案中,HMAC算法是含有密钥散列函数算法,兼容了MD和SHA算法的特性,并在此基础上加上了密钥,通过HMAC算法对客户端存储的信息进行加密,解决了存储在浏览器端的Cookie中可信问题。本专利技术的另一方面,提出了一种用户权限鉴定系统,包括:第一获取单元,用于获取用户信息及用户权限资源信息,并存储到令牌信息中;令牌处理单元,用于对令牌信息进行加密,生成令牌;令牌处理单元,还用于将令牌和令牌信息写入到浏览器的Cookie中;接收单元,用于接收浏览器发送的请求;读取单元,用于读取浏览器的Cookie中的当前令牌和当前令牌信息;可信性验证单元,用于根据当前令牌对浏览器的Cookie进行可信性验证。根据本专利技术的用户权限鉴定系统,在登录过程中,获取用户信息及用户权限资源信息,并存储到令牌信息中,通过对令牌信息进行加密,生成令牌,将令牌和令牌信息写入到浏览器的Cookie中,实现令牌的生成与分发,使得用户权限资源信息通过Cookie进行网络传递,每次浏览器发起请求,会将Cookie信息带到服务器端,通过读取Cookie中的当前令牌和当前令牌信息,并对当前令牌进行验证,解决了存储在浏览器端的Cookie中可信问题,同时,避免了相关技术中采用超大规模集群下会话复制带来的性能问题和集中式会话管理形成单点问题。在上述技术方案中,本文档来自技高网
...
用户权限鉴定方法及系统和计算机设备

【技术保护点】
一种用户权限鉴定方法,其特征在于,包括:获取用户信息及用户权限资源信息,并存储到令牌信息中;对所述令牌信息进行加密,生成令牌;将所述令牌和所述令牌信息写入到浏览器的Cookie中;接收所述浏览器发送的请求;读取所述浏览器的Cookie中的当前令牌和当前令牌信息;根据所述当前令牌对所述浏览器的Cookie进行可信性验证。

【技术特征摘要】
1.一种用户权限鉴定方法,其特征在于,包括:获取用户信息及用户权限资源信息,并存储到令牌信息中;对所述令牌信息进行加密,生成令牌;将所述令牌和所述令牌信息写入到浏览器的Cookie中;接收所述浏览器发送的请求;读取所述浏览器的Cookie中的当前令牌和当前令牌信息;根据所述当前令牌对所述浏览器的Cookie进行可信性验证。2.根据权利要求1所述的用户权限鉴定方法,其特征在于,所述获取用户信息及用户权限资源信息,并存储到令牌信息中的步骤,具体包括:将所述用户权限资源信息存储到布隆过滤器中;采用RLE算法对所述布隆过滤器进行压缩,并存储到所述令牌信息中。3.根据权利要求2所述的用户权限鉴定方法,其特征在于,还包括:在所述浏览器的Cookie可信的情况下,对所述当前令牌信息中的所述权限资源信息进行解压缩,得到权限资源信息集合;从所述浏览器发送的请求中获取对应的权限资源;判断所述权限资源是否在所述权限资源信息集合中;当判断结果为是时,则放行所述请求;当判断结果为否时,则返回第一错误页面。4.根据权利要求1至3中任一项所述的用户权限鉴定方法,所述根据所述当前令牌对所述浏览器的Cookie进行可信性验证的步骤,具体包括:判断所述当前令牌与所述令牌是否一致;若判断结果为不一致,则返回第二错误页面;若判断结果一致,则判定所述浏览器的Cookie可信。5.根据权利要求4所述的用户权限鉴定方法,其特征在于,所述用户信息至少包括用户ID,以及以下任一项或其组合:登录系统时的时间戳,应用ID,租户code。6.根据权利要求4所述的用户权限鉴定方法,其特征在于,对所述令牌信息进行加密,生成令牌,具体为:采用HMAC算法对所述令牌信息进行加密。7.一种用户权限鉴定系统,其特征在于,包括:第一获取单元,用于获取用户信息及用户权限资源信息,并存储到令牌信息中;令牌处理单元,用于对所述令牌信息进行加密,生成令牌;所述令...

【专利技术属性】
技术研发人员:李传忠司春利
申请(专利权)人:用友网络科技股份有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1