CN112699404A - 一种校验权限的方法、装置、设备及存储介质 - Google Patents
一种校验权限的方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN112699404A CN112699404A CN202011607198.1A CN202011607198A CN112699404A CN 112699404 A CN112699404 A CN 112699404A CN 202011607198 A CN202011607198 A CN 202011607198A CN 112699404 A CN112699404 A CN 112699404A
- Authority
- CN
- China
- Prior art keywords
- resource
- information
- jwt
- user
- authority
- 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.)
- Pending
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
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- 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/64—Protecting data integrity, e.g. using checksums, certificates or signatures
Abstract
本申请适用于计算机技术领域,提供了一种校验权限的方法、装置、设备及存储介质,包括:服务器获取前端发送的资源操作请求,该资源操作请求是基于JWT验证数据生成的,该JWT验证数据是基于资源权限信息以及用户的登录信息生成的;对该资源操作请求进行验证,并根据验证结果响应该资源操作请求。上述方式,前端每次发起的资源操作请求都是基于JWT验证数据生成的,服务器对每次的资源操作请求都进行充分验证,根据不同的验证结果响应该资源操作请求。这种验证方式有效地避免了越权访问漏洞的情况出现,进而保障了资源的安全性,保障了每个用户的权益。
Description
技术领域
本申请属于计算机技术领域,尤其涉及一种校验权限的方法、装置、设备及存储介质。
背景技术
现有的文件资源管理系统提供了资源下载、访问等服务,用户对资源进行下载、访问等操作时,会对用户的操作权限进行校验。现有技术中,由于对用户的权限校验不充分,容易造成越权访问漏洞,进而导致文件资源不安全。
发明内容
有鉴于此,本申请实施例提供了一种校验权限的方法、装置、设备及存储介质,以解决现有技术中,由于对用户的权限校验不充分,容易造成越权访问漏洞,进而导致文件资源不安全的问题。
本申请实施例的第一方面提供了一种校验权限的方法,包括:
获取前端发送的资源操作请求,所述资源操作请求是基于JWT验证数据生成的,所述JWT验证数据是基于资源权限信息以及用户的登录信息生成的;
对所述资源操作请求进行验证,并根据验证结果响应所述资源操作请求。
本申请实施例的第二方面提供了一种校验权限的装置,包括:
获取单元,用于获取前端发送的资源操作请求,所述资源操作请求是基于JWT验证数据生成的,所述JWT验证数据是基于资源权限信息以及用户的登录信息生成的;
验证单元,用于对所述资源操作请求进行验证,并根据验证结果响应所述资源操作请求。
本申请实施例的第三方面提供了一种校验权限的设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如上述第一方面所述的校验权限的方法的步骤。
本申请实施例的第四方面提供了一种计算机存储介质,所述计算机存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上述第一方面所述的校验权限的方法的步骤。
本申请实施例的第五方面提供了一种计算机程序产品,当计算机程序产品在校验权限的设备上运行时,使得校验权限的设备执行上述第一方面所述的校验权限的方法的步骤。
本申请实施例提供的一种校验权限的方法、装置、设备及存储介质,具有以下有益效果:
本申请实施例,服务器获取前端发送的资源操作请求,该资源操作请求是基于JWT验证数据生成的,该JWT验证数据是基于资源权限信息以及用户的登录信息生成的;对该资源操作请求进行验证,并根据验证结果响应该资源操作请求。上述方式,前端每次发起的资源操作请求都是基于JWT验证数据生成的,服务器对每次的资源操作请求都进行充分验证,根据不同的验证结果响应该资源操作请求。这种验证方式有效地避免了越权访问漏洞的情况出现,进而保障了资源的安全性,同时也提升了文件资源管理系统的安全性,保障了每个用户的权益。且本申请实施例中基于JWT验证数据进行验证,该JWT验证数据的数据量小、传输速度快,提升了校验权限的速度;服务器可直接基于JWT验证数据中包含的资源权限信息以及用户的登录信息进行验证,避免多次查询数据库,提高了校验权限的效率;且该JWT验证数据不容易被篡改,进一步提升了资源的安全性。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种校验权限的方法的示意流程图;
图2是本申请另一实施例提供的一种校验权限的方法的示意流程图;
图3为本申请又一实施例提供的一种校验权限的方法的示意流程图;
图4是本申请一实施例提供的一种校验权限的装置的示意图;
图5是本申请另一实施例提供的一种校验权限的设备的示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
现有的文件资源管理系统提供了资源下载、访问等服务,用户对资源进行下载、访问等操作时,会对用户的操作权限进行校验。现有技术中,由于对用户的权限校验不充分,容易造成越权访问漏洞。
越权访问漏洞主要分为水平越权和垂直越权。水平越权是指攻击者尝试访问与他拥有相同权限的用户资源。例如,用户A和用户B属于同一角色,拥有相同的权限等级,他们均能获取自己的私有数据(用户A获取数据A,用户B获取数据B),但如果系统只验证了能访问数据的角色,而没有对数据做细分或者校验,导致用户A能访问到用户B的数据(数据B),用户B可以访问到数据A。这种用户A访问数据B、用户B访问数据A的这种行为就叫做水平越权访问。
垂直越权是指由于后台应用没有做权限控制,或仅仅在菜单、按钮上做了权限控制,导致恶意用户只要猜测其他管理页面的统一资源定位系统(uniform resourcelocator,URL)或者敏感的参数信息,就可以访问或控制其他角色拥有的数据或页面,达到权限提升的目的。
因此,现有技术中由于对用户的权限校验不充分,造成越权访问漏洞的这种情况,会导致文件资源不安全。
有鉴于此,本申请提供了一种校验权限的方法,该方法中,服务器获取前端发送的资源操作请求,该资源操作请求是基于JWT验证数据生成的,该JWT验证数据是基于资源权限信息以及用户的登录信息生成的;对该资源操作请求进行验证,并根据验证结果响应该资源操作请求。上述方式,前端每次发起的资源操作请求都是基于JWT验证数据生成的,服务器对每次的资源操作请求都进行充分验证,根据不同的验证结果响应该资源操作请求。这种验证方式有效地避免了越权访问漏洞的情况出现,进而保障了资源的安全性,保障了每个用户的权益。
请参见图1,图1是本申请实施例提供的一种校验权限的方法的示意流程图。本实施例中校验权限的方法的执行主体为校验权限的设备,该设备包括但不限于服务器、代理服务器等。如图1所示的校验权限的方法可包括S101~S102,具体如下:
S101:获取前端发送的资源操作请求,所述资源操作请求是基于JWT验证数据生成的,所述JWT验证数据是基于资源权限信息以及用户的登录信息生成的。
前端即网站前台部分,运行在PC端、移动端等浏览器上展现给用户浏览的网页。服务器基于资源权限信息以及用户的登录信息生成JWT验证数据,将生成的JWT验证数据发送给前端,前端基于JWT验证数据生成资源操作请求。前端向服务器发送该资源操作请求,相应地,服务器获取前端发送的资源操作请求。
其中,用户的登录信息可以包括该用户的身份标识号(Identity document,ID)、密码信息等。例如,用户的登录信息可以为用户注册的账号信息、身份证号、手机号、唯一能标识该用户的字符、密码信息等。资源权限信息可以包括该用户拥有的对每个目标资源的下载资源权限、访问资源权限、上传资源权限、删除资源权限、下载资源权限授权时间、访问资源权限授权时间、上传资源权限授权时间、删除资源权限授权时间、下载资源权限过期时间、访问资源权限过期时间、上传资源权限过期时间、删除资源权限过期时间等。
资源操作请求包括对目标资源的操作权限请求以及JWT验证数据,该操作权限请求可以包括资源下载请求、资源访问请求、资源上传请求、资源删除请求等。当资源操作请求包括对目标资源的资源下载请求以及JWT验证数据时,该资源操作请求用于服务器根据资源下载请求以及JWT验证数据,验证该用户是否有权限下载该目标资源。当资源操作请求包括对目标资源的资源访问请求以及JWT验证数据时,该资源操作请求用于服务器根据资源访问请求以及JWT验证数据,验证该用户是否有权限访问该目标资源。当资源操作请求包括对目标资源的资源上传请求以及JWT验证数据时,该资源操作请求用于服务器根据资源上传请求以及JWT验证数据,验证该用户是否有权限上传该目标资源。当资源操作请求包括对目标资源的资源删除请求以及JWT验证数据时,该资源操作请求用于服务器根据资源下删除请求以及JWT验证数据,验证该用户是否有权限删除该目标资源。
S102:对所述资源操作请求进行验证,并根据验证结果响应所述资源操作请求。
验证结果可以包括验证成功或验证失败。验证结果为验证成功时,表示用户对目标资源拥有其请求的操作权限;验证结果为验证失败时,表示用户对目标资源没有其请求的操作权限。
服务器根据资源操作请求中的JWT验证数据对目标资源的操作权限请求进行验证,得到验证结果,并根据验证结果响应资源操作请求。当验证结果为验证成功时,服务器同意资源操作请求中用户请求的操作权限;当验证结果为验证失败时,服务器拒绝资源操作请求中用户请求的操作权限。
资源操作请求包括对目标资源的操作权限请求以及JWT验证数据,该操作权限请求可以包括资源下载请求、资源访问请求、资源上传请求、资源删除请求中的任意一种或任意多种组合。可选地,上述S102可以包括S1021、S1022,或者,S102可以包括S1021、S1023。具体如下:
S1021:基于所述JWT验证数据验证所述用户是否拥有所述操作权限请求对应的权限。
根据JWT验证数据中具体包括的数据信息,验证该用户是否拥有该操作权限请求对应的权限。当操作权限请求为资源下载请求时,该操作权限请求对应的权限即为下载该目标资源。当操作权限请求为资源访问请求时,该操作权限请求对应的权限即为访问该目标资源。当操作权限请求为资源上传请求时,该操作权限请求对应的权限即为上传该目标资源。当操作权限请求为资源删除请求时,该操作权限请求对应的权限即为删除该目标资源。
以文件资源管理系统为例进行说明。当用户想要下载该文件资源管理系统中的某个目标资源(如目标文件、目标图片、目标音频、目标视频、目标程序代码等)时,前端基于用户的需求生成的资源操作请求包括,对目标资源的资源下载请求和JWT验证数据。其中,资源下载请求中包括目标资源的标识信息。由于JWT验证数据中包含有该用户对每个目标资源的下载资源权限、访问资源权限、上传资源权限、删除资源权限、下载资源权限授权时间、访问资源权限授权时间、上传资源权限授权时间、删除资源权限授权时间、下载资源权限过期时间、访问资源权限过期时间、上传资源权限过期时间、删除资源权限过期时间等信息。可根据目标资源的标识信息在JWT验证数据中查找该用户是否有权限下载该目标资源。具体地,在JWT验证数据中查找该用户对该目标资源的下载权限。此处仅为示例性说明,对此不做限定。
或者,当用户想要访问该文件资源管理系统中的某个目标资源(如目标文件、目标图片、目标音频、目标视频、目标程序代码等)时,前端基于用户的需求生成的资源操作请求包括,对目标资源的资源访问请求和JWT验证数据。其中,资源访问请求中包括目标资源的标识信息。在JWT验证数据中查找该用户对该目标资源的访问权限。此处仅为示例性说明,对此不做限定。
S1022:当验证结果为验证通过时,允许所述用户基于所述操作权限请求对应的权限对所述目标资源操作。
当在JWT验证数据中查找到该用户对该目标资源的操作权限时,生成验证成功的验证结果,并允许用户基于操作权限请求对应的权限对目标资源操作。即允许用户下载、访问、上传、删除目标资源。
以操作权限请求为资源下载请求为例,当在JWT验证数据中查找到该用户对该目标资源的下载权限时,生成验证成功的验证结果,并下载该目标资源至用户选择的下载地址中。
可选地,在一种可实现的方式中,当在JWT验证数据中查找到该用户对该目标资源的下载权限时,可进一步查找该用户下载该目标资源的权限过期时间,基于该权限过期时间判断用户当前是否还有资格下载该目标资源。当该用户下载该目标资源的权限已过期,生成验证失败的验证结果。服务器拒绝该资源操作请求,即服务器禁止该用户下载该目标资源,并生成第一提示信息提示用户下载目标资源的权限已过期。例如,第一提示信息可以为:您下载该目标资源的权限已过期,请重新申请授权。当该用户下载该目标资源的权限未过期时,生成验证成功的验证结果,并下载该目标资源至用户选择的下载地址中。
又例如,当在JWT验证数据中查找到该用户对该目标资源的访问权限时,生成验证成功的验证结果,并打开该目标资源供用户查阅。可选地,在一种可实现的方式中,当在JWT验证数据中查找到该用户对该目标资源的访问权限时,可进一步查找该用户访问该目标资源的权限过期时间,基于该权限过期时间判断用户当前是否还有资格访问该目标资源。当该用户访问该目标资源的权限已过期,生成验证失败的验证结果。服务器拒绝该资源操作请求,即服务器禁止该用户访问该目标资源,并生成第三提示信息提示用户访问目标资源的权限已过期。例如,第三提示信息可以为:您访问该目标资源的权限已过期,请重新申请授权。当该用户访问该目标资源的权限未过期时,生成验证成功的验证结果,并打开该目标资源供用户查阅。此处仅为示例性说明,对此不做限定。
S1023:当验证结果为验证未通过时,拒绝所述用户基于所述操作权限请求对应的权限对所述目标资源操作。
当在JWT验证数据中未查找到该用户对该目标资源的操作权限时,生成验证失败的验证结果,并允拒绝用户基于操作权限请求对应的权限对目标资源操作。即拒绝用户下载、访问、上传、删除目标资源。
以操作权限请求为资源下载请求为例,当在JWT验证数据中未查找到该用户对该目标资源的下载权限时,生成验证失败的验证结果。服务器拒绝该资源操作请求,即服务器禁止该用户下载该目标资源。可选地,在一种可实现方式中,服务器还可生成第二提示信息,该第二提示信息用于提示用户没有权限下载该目标资源。例如,第二提示信息可以为:您没有权限下载该目标资源。
又例如,当在JWT验证数据中未查找到该用户对该目标资源的访问权限时,生成验证失败的验证结果。服务器拒绝该资源操作请求,即服务器禁止该用户访问该目标资源。可选地,在一种可实现方式中,服务器还可生成第四提示信息,该第四提示信息用于提示用户没有权限访问该目标资源。例如,第四提示信息可以为:您没有权限下访问该目标资源。
同理,当资源操作请求包括的操作权限请求为资源上传请求、资源删除请求等时,服务器对资源操作请求进行验证,并根据验证结果响应资源操作请求的具体过程,可参考上述描述。
本申请实施例中,服务器获取前端发送的资源操作请求,该资源操作请求是基于JWT验证数据生成的,该JWT验证数据是基于资源权限信息以及用户的登录信息生成的;对该资源操作请求进行验证,并根据验证结果响应该资源操作请求。上述方式,前端每次发起的资源操作请求都是基于JWT验证数据生成的,服务器对每次的资源操作请求都进行充分验证,根据不同的验证结果响应该资源操作请求。这种验证方式有效地避免了越权访问漏洞的情况出现,进而保障了资源的安全性,保障了每个用户的权益。进一步地,服务器可直接基于JWT验证数据中包含的资源权限信息以及用户的登录信息进行验证,避免多次查询数据库,提高了校验权限的效率。
可选地,在一种可实现方式中,在S101之前还可包括获取资源权限信息以及登录信息,基于该资源权限信息以及该登录信息生成JWT验证数据,并将该JWT验证数据发送至前端。
示例性地,服务器获取用户的登录信息以及资源权限信息。示例性地,当用户在前端显示界面输入登录信息(ID信息和密码)时,前端通过表单的形式将该ID信息以及密码发送至服务器,服务器接收前端发送的ID信息以及密码。服务器在数据库中查找是否有存储该用户的登录信息。当在数据库中未查找到该用户的登录信息时,可生成提示信息,并将该提示信息返发送至前端,该提示信息用于提示用户注册账号。
当在数据库中查找到该登录信息时,基于该登录信息中的ID信息获取该用户的资源权限信息。示例性地,数据库中预先存储有与每个用户的ID信息关联的资源权限信息。服务器可根据该用户的ID信息在数据库中查找该用户的资源权限信息。
示例性地,以文件资源管理系统为例进行说明。当用户想要对该文件资源管理系统中的目标资源进行下载、访问、查询、删除或上传目标资源等操作时,预先需要登录该文件资源管理系统。具体地,用户在前端显示界面输入用户名(ID信息)以及密码用于登录该文件资源管理系统。前端提取用户输入的用户名以及密码,并通过表单的方式将用户名以及密码发送至服务器,服务器接收前端发送的用户名以及密码。服务器在数据库中查找是否有存储该用户的用户名,当在数据库中未查找到该用户名时,可生成提示信息,并将该提示信息发送至前端,该提示信息用于提示用户注册文件资源管理系统的账号。例如,在前端登录文件资源管理系统的页面提示用户:未查找到该用户,请注册账号。当在数据库中查找到该用户名时,基于该用户名获取该用户的资源权限信息。示例性地,在数据库中查找与该用户名关联的资源权限信息。
服务器根据资源权限信息以及登录信息生成JWT验证数据,JWT验证数据可作为登录结果返回前端,即服务器将该JWT验证数据用于作为登录成功的结果发送至前端,可用于提醒前端该用户已成功登录文件资源管理系统。
前端基于JWT验证数据生成资源操作请求。示例性地,前端将该JWT验证数据存储到本地进行永久保存,或者对该JWT验证数据进行会话存储,实现临时保存。例如,对JWT验证数据进行本地存储(localStorag),即将JWT验证数据存储到本地,存储到本地只要用户不主动删除该JWT验证数据,即可实现该JWT验证数据的永久保存。或者对JWT验证数据进行会话存储(sessionStorag),即临时存储JWT验证数据,这种存储方式不会占用过多的内存,有利于系统的流畅运行。
前端将JWT验证数据存储后,根据用户的需求,基于该JWT验证数据生成不同的资源操作请求。示例性地,前端每次在发起请求时,将JWT验证数据添加到请求信息中,生成资源操作请求。例如,用户想要下载文件资源管理系统中的某个目标资源,可在前端页面点击该目标资源对应的下载按钮,前端接收到该指令后生成的资源操作请求包括对目标资源的资源下载请求以及JWT验证数据。具体地,前端将JWT验证数据添加到下载请求的header中的Authorization(用户凭证)中,生成资源操作请求。同理,当操作权限请求包括资源访问请求、资源上传请求、资源删除请求等时,也是通过同样的方式生成资源操作请求。
由于JWT验证数据的数据量小、传输速度快,基于该JWT验证数据生成资源操作请求,可快速发送至服务器,进而提升了服务器校验权限的速度。
可选地,在一种可能的实现方式中,在获取资源权限信息以及登录信息之前,本申请提供的校验权限的方法还可包括:获取前端发送的用户的用户名和密码;对用户名以及密码进行校验;当校验结果为用户名以及密码均有效时,基于该用户名以及该密码生成登录信息。
示例性地,以文件资源管理系统为例进行说明。当用户想要对该文件资源管理系统中的目标资源进行下载、访问、查询、删除或上传目标资源等操作时,预先需要登录该文件资源管理系统。具体地,用户在前端显示界面输入用户名(ID信息)以及密码用于登录该文件资源管理系统。前端提取用户输入的用户名以及密码,并通过表单的方式将用户名以及密码发送至服务器,服务器接收前端发送的用户名以及密码。
服务器对用户名以及密码进行校验,可理解为判断该用户是否为有效用户,或者可以理解为该用户是否预先成功注册了该文件资源管理系统的账户。具体地,服务器在数据库中查找是否有存储该用户的用户名以及密码,当在数据库中未查找到该用户名时,可生成提示信息,并将该提示信息发送至前端,该提示信息用于提示用户注册文件资源管理系统的账号。当在数据库中查找到该用户名时,获取与该用户名关联的密码,校验前端发送过来的密码与数据库中存储的该用户名对应的密码是否一致。当密码不一致时,生成提示信息,此时该提示信息用于提示用户密码错误。当密码一致时,基于该用户名以及该密码生成登录信息。也就是说,当在数据库中查找到该用户名,且数据库中与该用户名关联的密码与前端发来的密码一致,此时的校验结果就为用户名以及密码均有效,这时的用户名以及密码可作为登录信息,便于后续根据该登录信息以及资源权限信息生成JWT验证数据。
可选地,在一种可能的实现方式中,当用户退出文件资源管理系统时,前端可删除JWT验证数据,避免对后续其他用户的操作产生干扰,且及时清除数据内存,可提升文件资源管理系统运行的流畅性。
请参见图2,图2是本申请另一实施例提供的一种校验权限的方法的示意流程图。示例性地,基于资源权限信息以及用户的登录信息生成JWT验证数据可以包括S201~S204,具体如下:
S201:采用预设编码方式对预设的令牌类型以及加密算法进行编码,得到所述JWT验证数据的头部信息。
JWT验证数据由三部分组成,第一部分信息为JWT验证数据的头部信息(header信息),该头部信息包含预设的令牌类型以及加密算法。第二部分信息为JWT验证数据的负载信息(playload信息),该负载信息包括资源权限信息以及用户的登录信息。第三部分信息为JWT验证数据的签名信息,用于保证JWT验证数据的安全性,防止JWT验证数据被篡改。
示例性地,采用预设编码方式对预设的令牌类型以及加密算法进行编码,得到JWT验证数据的头部信息。其中,预设编码方式可以为64个可打印字符来表示二进制数据(Base64)编码方式,预设的令牌类型可以为JWT,加密算法为HMAC SHA256。基于Base64编码方式对预设的令牌类型以及加密算法进行编码,得到:eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9。该信息即为JWT验证数据的头部信息。
S202:采用所述预设编码方式对所述资源权限信息以及所述登录信息进行编码,得到所述JWT验证数据的负载信息。
采用与S201中相同的编码方式对资源权限信息以及用户的登录信息进行编码,得到JWT验证数据的负载信息。示例性地,采用Base64编码方式对用户的ID信息、密码信息、该用户拥有的对每个目标资源的下载资源权限、访问资源权限、上传资源权限、删除资源权限、下载资源权限授权时间、访问资源权限授权时间、上传资源权限授权时间、删除资源权限授权时间、下载资源权限过期时间、访问资源权限过期时间、上传资源权限过期时间、删除资源权限过期时间等信息进行编码,得到JWT验证数据的负载信息。
S203:采用所述加密算法对所述头部信息以及所述负载信息进行加密,得到所述JWT验证数据的签名信息。
获取头部信息中的加密算法。例如,获取到的加密算法为HMAC SHA256,采用该加密算法对头部信息以及负载信息进行加密,得到JWT验证数据的签名信息。采用该方法得到的签名信息可保证JWT验证数据的安全性,防止JWT验证数据被篡改。
S204:基于所述头部信息、所述负载信息以及所述签名信息,生成所述JWT验证数据。
将头部信息、负载信息以及签名信息这三部分按照预设顺序用“.”连接成一个完整的字符串,构成了最终的JWT验证数据。示例性地,JWT验证数据为:头部信息.负载信息.签名信息。
基于上述方式生成的JWT验证数据非常安全,不容易被篡改,进一步提升了资源的安全性。
请参见图3,图3是本申请又一实施例提供的一种校验权限的方法的示意流程图。如图3所示的校验权限的方法可包括S301~S303,本实施例中的S301~S302与图1对应的实施例中的S101~S102相同,此处不再赘述,下面将详细描述S303。
S303:将JWT验证数据上传至区块链中。
本实施例中,将每个用户对应的JWT验证数据上传至区块链中,可保证其安全性和对用户的公正透明性。且将每个用户对应的JWT验证数据上传至区块链中,借助区块链上文件无法随意篡改的特性,能够避免每个用户对应的JWT验证数据被恶意篡改,便于后续服务器根据JWT验证数据对每个用户不同的资源操作请求进行验证,进一步保证了资源的安全性。
本示例所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
请参见图4,图4是本申请一实施例提供的一种校验权限的装置的示意图。该装置包括的各单元用于执行图1、图2、图3对应的实施例中的各步骤。具体请参阅图1、图2、图3各自对应的实施例中的相关描述。为了便于说明,仅示出了与本实施例相关的部分。参见图4,包括:
获取单元410,用于获取前端发送的资源操作请求,所述资源操作请求是基于JWT验证数据生成的,所述JWT验证数据是基于资源权限信息以及用户的登录信息生成的;
验证单元420,用于对所述资源操作请求进行验证,并根据验证结果响应所述资源操作请求。
可选地,所述装置还包括:
第一编码单元,用于采用预设编码方式对预设的令牌类型以及加密算法进行编码,得到所述JWT验证数据的头部信息;
第二编码单元,用于采用所述预设编码方式对所述资源权限信息以及所述登录信息进行编码,得到所述JWT验证数据的负载信息;
第三编码单元,用于采用所述加密算法对所述头部信息以及所述负载信息进行加密,得到所述JWT验证数据的签名信息;
第四编码单元,用于基于所述头部信息、所述负载信息以及所述签名信息,生成所述JWT验证数据。
可选地,所述资源操作请求包括对目标资源的操作权限请求以及所述JWT验证数据,所述操作权限请求包括资源下载请求和/或资源访问请求,所述验证单元420具体用于:
基于所述JWT验证数据验证所述用户是否拥有所述操作权限请求对应的权限;
当验证结果为验证通过时,允许所述用户基于所述操作权限请求对应的权限对所述目标资源操作;
当验证结果为验证未通过时,拒绝所述用户基于所述操作权限请求对应的权限对所述目标资源操作。
可选地,所述装置还包括:
信息获取单元,用于获取所述前端发送的所述用户的用户名和密码;
校验单元,用于对所述用户名以及所述密码进行校验;
生成单元,用于当校验结果为所述用户名以及所述密码均有效时,基于所述用户名以及所述密码生成所述登录信息。
可选地,所述装置还包括:
上传单元,用于将所述JWT验证数据上传至区块链中。
请参见图5,图5是本申请另一实施例提供的一种校验权限的设备的示意图。如图5所示,该实施例的校验权限的设备5包括:处理器50、存储器51以及存储在所述存储器51中并可在所述处理器50上运行的计算机指令52。所述处理器50执行所述计算机指令52时实现上述各个校验权限的方法实施例中的步骤,例如图1所示的S101至S102。或者,所述处理器50执行所述计算机指令52时实现上述各实施例中各单元的功能,例如图4所示单元410和420的功能。
示例性地,所述计算机指令52可以被分割成一个或多个单元,所述一个或者多个单元被存储在所述存储器51中,并由所述处理器50执行,以完成本申请。所述一个或多个单元可以是能够完成特定功能的一系列计算机指令段,该指令段用于描述所述计算机指令52在所述校验权限的设备5中的执行过程。例如,所述计算机指令52可以被分割为获取单元以及验证单元,各单元具体功能如上所述。
所述校验权限的设备可包括,但不仅限于,处理器50、存储器51。本领域技术人员可以理解,图5仅仅是校验权限的设备5的示例,并不构成对校验权限的设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述校验权限的设备还可以包括输入输出设备、网络接入设备、总线等。
所称处理器50可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器51可以是所述校验权限的设备的内部存储单元,例如校验权限的设备的硬盘或内存。所述存储器51也可以是所述校验权限的设备的外部存储设备,例如所述校验权限的设备上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器51还可以既包括所述校验权限的设备的内部存储单元也包括外部存储设备。所述存储器51用于存储所述计算机指令以及所述设备所需的其他程序和数据。所述存储器51还可以用于暂时地存储已经输出或者将要输出的数据。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神范围,均应包含在本申请的保护范围之内。
Claims (10)
1.一种校验权限的方法,其特征在于,包括:
获取前端发送的资源操作请求,所述资源操作请求是基于JWT验证数据生成的,所述JWT验证数据是基于资源权限信息以及用户的登录信息生成的;
对所述资源操作请求进行验证,并根据验证结果响应所述资源操作请求。
2.如权利要求1所述的方法,其特征在于,所述方法还包括:
采用预设编码方式对预设的令牌类型以及加密算法进行编码,得到所述JWT验证数据的头部信息;
采用所述预设编码方式对所述资源权限信息以及所述登录信息进行编码,得到所述JWT验证数据的负载信息;
采用所述加密算法对所述头部信息以及所述负载信息进行加密,得到所述JWT验证数据的签名信息;
基于所述头部信息、所述负载信息以及所述签名信息,生成所述JWT验证数据。
3.如权利要求1所述的方法,其特征在于,所述资源操作请求包括对目标资源的操作权限请求以及所述JWT验证数据,所述操作权限请求包括资源下载请求和/或资源访问请求,所述对所述资源操作请求进行验证,并根据验证结果响应所述资源操作请求,包括:
基于所述JWT验证数据验证所述用户是否拥有所述操作权限请求对应的权限;
当验证结果为验证通过时,允许所述用户基于所述操作权限请求对应的权限对所述目标资源操作;
当验证结果为验证未通过时,拒绝所述用户基于所述操作权限请求对应的权限对所述目标资源操作。
4.如权利要求1所述的方法,其特征在于,所述获取前端发送的资源操作请求之前,所述方法还包括:
获取所述前端发送的所述用户的用户名和密码;
对所述用户名以及所述密码进行校验;
当校验结果为所述用户名以及所述密码均有效时,基于所述用户名以及所述密码生成所述登录信息。
5.如权利要求1至4任一项所述的方法,其特征在于,所述对所述资源操作请求进行验证,并根据验证结果响应所述资源操作请求之后,所述方法还包括:
将所述JWT验证数据上传至区块链中。
6.一种校验权限的装置,其特征在于,包括:
获取单元,用于获取前端发送的资源操作请求,所述资源操作请求是基于JWT验证数据生成的,所述JWT验证数据是基于资源权限信息以及用户的登录信息生成的;
验证单元,用于对所述资源操作请求进行验证,并根据验证结果响应所述资源操作请求。
7.如权利要求6所述的装置,其特征在于,所述装置还包括:
第一编码单元,用于采用预设编码方式对预设的令牌类型以及加密算法进行编码,得到所述JWT验证数据的头部信息;
第二编码单元,用于采用所述预设编码方式对所述资源权限信息以及所述登录信息进行编码,得到所述JWT验证数据的负载信息;
第三编码单元,用于采用所述加密算法对所述头部信息以及所述负载信息进行加密,得到所述JWT验证数据的签名信息;
第四编码单元,用于基于所述头部信息、所述负载信息以及所述签名信息,生成所述JWT验证数据。
8.如权利要求6所述的装置,其特征在于,所述装置还包括:
上传单元,用于将所述JWT验证数据上传至区块链中。
9.一种校验权限的设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至5任一项所述的方法。
10.一种计算机存储介质,所述计算机存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011607198.1A CN112699404A (zh) | 2020-12-29 | 2020-12-29 | 一种校验权限的方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011607198.1A CN112699404A (zh) | 2020-12-29 | 2020-12-29 | 一种校验权限的方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112699404A true CN112699404A (zh) | 2021-04-23 |
Family
ID=75512470
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011607198.1A Pending CN112699404A (zh) | 2020-12-29 | 2020-12-29 | 一种校验权限的方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112699404A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114697074A (zh) * | 2022-02-23 | 2022-07-01 | 深圳爱捷云科技有限公司 | 权限校验方法、电子设备及存储介质 |
CN115396130A (zh) * | 2021-05-20 | 2022-11-25 | 海信集团控股股份有限公司 | 一种基于区块链的访问控制方法及装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109446833A (zh) * | 2018-09-17 | 2019-03-08 | 深圳点猫科技有限公司 | 一种基于教育系统的权限校验方法及电子设备 |
EP3460691A1 (en) * | 2017-09-22 | 2019-03-27 | Sensormatic Electronics LLC | Methods and apparatus for management of intrusion detection systems using verified identity |
CN109657429A (zh) * | 2018-09-27 | 2019-04-19 | 深圳壹账通智能科技有限公司 | 视频资源管理方法、设备、系统及计算机可读存储介质 |
JP2020030759A (ja) * | 2018-08-24 | 2020-02-27 | キヤノン株式会社 | 権限委譲システム、情報処理装置およびその制御方法、並びにプログラム。 |
CN111756753A (zh) * | 2020-06-28 | 2020-10-09 | 中国平安财产保险股份有限公司 | 一种权限验证方法及系统 |
CN112035822A (zh) * | 2020-08-25 | 2020-12-04 | 北京锐安科技有限公司 | 多应用单点登录方法、装置、设备及存储介质 |
-
2020
- 2020-12-29 CN CN202011607198.1A patent/CN112699404A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3460691A1 (en) * | 2017-09-22 | 2019-03-27 | Sensormatic Electronics LLC | Methods and apparatus for management of intrusion detection systems using verified identity |
JP2020030759A (ja) * | 2018-08-24 | 2020-02-27 | キヤノン株式会社 | 権限委譲システム、情報処理装置およびその制御方法、並びにプログラム。 |
CN109446833A (zh) * | 2018-09-17 | 2019-03-08 | 深圳点猫科技有限公司 | 一种基于教育系统的权限校验方法及电子设备 |
CN109657429A (zh) * | 2018-09-27 | 2019-04-19 | 深圳壹账通智能科技有限公司 | 视频资源管理方法、设备、系统及计算机可读存储介质 |
CN111756753A (zh) * | 2020-06-28 | 2020-10-09 | 中国平安财产保险股份有限公司 | 一种权限验证方法及系统 |
CN112035822A (zh) * | 2020-08-25 | 2020-12-04 | 北京锐安科技有限公司 | 多应用单点登录方法、装置、设备及存储介质 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115396130A (zh) * | 2021-05-20 | 2022-11-25 | 海信集团控股股份有限公司 | 一种基于区块链的访问控制方法及装置 |
CN114697074A (zh) * | 2022-02-23 | 2022-07-01 | 深圳爱捷云科技有限公司 | 权限校验方法、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11895096B2 (en) | Systems and methods for transparent SaaS data encryption and tokenization | |
CN109274652B (zh) | 身份信息验证系统、方法及装置及计算机存储介质 | |
CN111783075B (zh) | 基于密钥的权限管理方法、装置、介质及电子设备 | |
US8898755B2 (en) | Trusted internet identity | |
KR102037160B1 (ko) | 기대치에 따른 데이터 보안 작동 | |
CN111935094A (zh) | 数据库访问方法、装置、系统及计算机可读存储介质 | |
CN112671720B (zh) | 一种云平台资源访问控制的令牌构造方法、装置及设备 | |
CN111355726B (zh) | 一种身份授权登录方法、装置及电子设备和存储介质 | |
US11841931B2 (en) | Systems and methods for dynamically enforcing digital rights management via embedded browser | |
CN113841145A (zh) | 抑制集成、隔离应用中的勒索软件 | |
US10579809B2 (en) | National identification number based authentication and content delivery | |
CN111818088A (zh) | 授权模式管理方法、装置、计算机设备及可读存储介质 | |
CN109286620B (zh) | 用户权限管理方法、系统、设备和计算机可读存储介质 | |
CN112699404A (zh) | 一种校验权限的方法、装置、设备及存储介质 | |
CN109302442B (zh) | 一种数据存储证明方法及相关设备 | |
CN114978544A (zh) | 一种访问认证方法、装置、系统、电子设备及介质 | |
CN114024682A (zh) | 跨域单点登录方法、服务设备及认证设备 | |
CN113595731A (zh) | 一种分享链接的防护方法、装置及计算机可读存储介质 | |
KR101975041B1 (ko) | 외부 저장 장치에 저장되는 파일을 보안하는 보안 브로커 시스템 및 그 방법 | |
CN112260997A (zh) | 数据访问方法、装置、计算机设备和存储介质 | |
KR102534012B1 (ko) | 컨텐츠 제공자의 보안등급을 인증하는 시스템 및 그 방법 | |
JP7403430B2 (ja) | 認証装置、認証方法及び認証プログラム | |
US20230229752A1 (en) | Attestation of application identity for inter-app communications | |
TWI778319B (zh) | 跨平台授權存取資源方法及授權存取系統 | |
US10924286B2 (en) | Signing key log management |
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 |