CN111159657A - 一种应用程序鉴权方法及系统 - Google Patents

一种应用程序鉴权方法及系统 Download PDF

Info

Publication number
CN111159657A
CN111159657A CN201911152929.5A CN201911152929A CN111159657A CN 111159657 A CN111159657 A CN 111159657A CN 201911152929 A CN201911152929 A CN 201911152929A CN 111159657 A CN111159657 A CN 111159657A
Authority
CN
China
Prior art keywords
authorization
authentication
time
request
application program
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
Application number
CN201911152929.5A
Other languages
English (en)
Inventor
李志华
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Zhilian Iot Technology Co ltd
Original Assignee
Shenzhen Zhilian Iot Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shenzhen Zhilian Iot Technology Co ltd filed Critical Shenzhen Zhilian Iot Technology Co ltd
Priority to CN201911152929.5A priority Critical patent/CN111159657A/zh
Publication of CN111159657A publication Critical patent/CN111159657A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2141Access rights, e.g. capability lists, access control lists, access tables, access matrices

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本申请适用于软件技术领域,提供了一种应用程序鉴权方法及系统,包括:接收应用程序的鉴权请求;所述鉴权请求由所述应用程序启动或运行时调用授权文件包生成的;根据所述鉴权请求获取授权码和授权请求时间;若所述授权码与已绑定的授权码一致且所述授权请求时间满足预设时间条件,则通过所述鉴权请求,为大量的应用程序提供集中式的授权管理,通过应用程序在启动或运行时调用已布属的授权文件包实现服务启动时授权验证及运行时定时授权验证,并基于该验证请求验证该应用程序是否为在授权期内的服务程序,进而达到远程对服务程序进行授权管理和定时使用管理的目的。

Description

一种应用程序鉴权方法及系统
技术领域
本申请属于软件技术领域,尤其涉及一种应用程序鉴权方法及系统。
背景技术
目前,随着计算机和网络应用的日益广泛以及不同领域的业务种类的日益丰富,需要提供大量的服务程序以提供相应的服务功能,针对大量应用服务程序的发布及管理变得越来越重要。然而目前对交付后需要授权管理的服务程序存在服务程序分散难以管理的问题。
发明内容
本申请实施例提供了一种应用程序鉴权方法及系统,可以解决目前对交付后的服务程序难以统一管理的问题。
第一方面,本申请实施例提供了一种应用程序鉴权方法,包括:
接收应用程序的鉴权请求;所述鉴权请求由所述应用程序启动或运行时调用授权文件包生成的;
根据所述鉴权请求获取授权码和授权请求时间;
若所述授权码与已绑定的授权码一致且所述授权请求时间满足预设时间条件,则通过所述鉴权请求。
在第一方面的一种可能的实现方式中,还包括:
将已绑定的授权码与预设加密算法进行编译,得到授权动态库;
根据所述授权动态库生成授权文件包,并将所述授权文件包加载到所述应用程序中。
应理解,在交付应用程序之前,可以先将应用程序与其对应的授权码进行绑定,并在授权管理中心中进行注册,授权管理中心可以提供应用程序与授权码的管理界面,由开发人员对应用程序和对应的授权码进行绑定,并写入该应用程序的有效使用日期。
在第一方面的一种可能的实现方式中,所述根据所述鉴权请求获取授权码和授权请求时间,包括:
采用预设解密算法对所述鉴权请求进行解密获取授权码。
在第一方面的一种可能的实现方式中,在所述若所述授权码与已绑定的授权码一致且所述授权请求时间满足预设时间条件,则通过所述应用程序的鉴权请求之后,还包括:
若所述授权码与已绑定的授权码不一致,则返回鉴权信息错误消息;
若所述授权请求时间不满足预设时间条件,则返回授权过期消息。
在第一方面的一种可能的实现方式中,在所述接收应用程序的鉴权请求之前,还包括:
验证所述鉴权请求是否超时;
若所述鉴权请求超时,则获取上一次鉴权成功的鉴权时间,并记录超时次数;
若所述上一次鉴权成功的鉴权时间超过预设时间阈值或所述超时次数超过预设次数,则返回网络错误信息;
若所述上一次鉴权时间处于预设时间阈值内,则验证所述上一次鉴权时间与当前时间的时间间隔是否满足预设时间条件;
若所述时间间隔满足预设时间条件,则通过所述鉴权请求。
在第一方面的一种实现的可能方式中,还包括:
若所述上一次鉴权时间处于预设时间阈值内,则获取当前时间;
验证所述当前时间是否处于所述上一次鉴权时间的有效期内;
若所述当前时间处于所述上一鉴权时间的有效期内,则验证所述时间间隔是否满足预设时间条件。
在第一方面的一种可能的实现方式中,在若所述授权码与已绑定的授权码一致且所述授权请求时间满足预设时间条件,则通过所述鉴权请求之后,还包括:
记录鉴权时间及鉴权结果。
第二方面,本申请实施例提供了一种应用程序鉴权系统,包括:
接收模块,用于接收应用程序的鉴权请求;所述鉴权请求由所述应用程序启动或运行时调用授权文件包生成的;
获取模块,用于根据所述鉴权请求获取授权码和授权请求时间;
鉴权模块,用于若所述授权码与已绑定的授权码一致且所述授权请求时间满足预设时间条件,则通过所述应用程序的鉴权请求
第三方面,本申请实施例提供了一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如前述第一方面所述应用程序鉴权方法的步骤。
第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如前述第一方面所述应用程序鉴权方法的步骤。
第五方面,本申请实施例提供了一种计算机程序产品,当计算机程序产品在终端设备上运行时,使得终端设备执行上述第一方面中任一项所述的应用程序鉴权方法。
可以理解的是,上述第二方面至第五方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。
本申请实施例与现有技术相比存在的有益效果是:通过应用程序在启动或运行时调用已布属的授权文件包实现服务启动时授权验证及运行时定时授权验证,并基于该验证请求验证该应用程序是否为在授权期内的服务程序,进而达到远程对大量服务程序进行授权管理和定时使用管理的目的。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一实施例提供的应用程序鉴权方法的流程示意图;
图2是本申请另一实施例提供的应用程序鉴权方法的流程示意图;
图3是本申请另一实施例提供的应用程序鉴权方法的流程示意图;
图4是本申请实施例提供的应用程序鉴权系统的结构示意图;
图5是本申请实施例提供的终端设备的结构示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
应当理解,当在本申请说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本申请说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
另外,在本申请说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
本申请实施例提供的应用程序鉴权方法可以应用于计算机、手机、平板电脑、可穿戴设备、车载设备、增强现实(augmented reality,AR)/虚拟现实(virtual reality,VR)设备、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本、个人数字助理(personal digital assistant,PDA)等终端设备上,本申请实施例对终端设备的具体类型不作任何限制。
在本申请实施例中,上述应用程序鉴权方法还可以应用在服务器设备中,通过该服务器设备提供授权管理中心,上述授权管理中心可以对开发人员开发的应用程序进行统一的授权管理,预先将应用程序与授权码进行绑定,并对授权码进行统一管理,基于授权码和有效使用日期对交付后的应用程序进行鉴权。授权管理中心还能够根据该应用程序的授权码生成对应的授权动态库,然后生成对应的授权文件包,并在开发过程中将该授权文件包写入到该应用程序中,当应用程序启动或运行时,调用该授权文件包包含的授权动态库来获取该应用程序对应的授权码,并基于预设加密算法对该授权码进行加密后生成加密信息,并将包含该加密信息的鉴权请求发送给授权管理中心进行鉴权,只有鉴权通过后应用程序才能正常使用,若鉴权不通过则无法继续使用该应用程序,进而实现对应用程序的远程管理。上述授权管理中心还能够查看授权状态并提供远程应用程序的授权校验http接口。
请参阅图1,本申请实施例提供了一种应用程序鉴权方法,具体包括:
S101:接收应用程序的鉴权请求。
具体地,所述鉴权请求由所述应用程序启动或运行时调用授权文件包生成的。
具体地,上述授权文件包能够调用授权管理中心将已经与该应用程序进行绑定的授权码和对应的加密算法进行编译生成的授权动态库,并通过调用该授权动态库生成相应的鉴权请求,并将该鉴权请求发送给该授权管理中心,授权管理中心会根据该鉴权请求包含的授权码信息和授权请求时间来验证该应用程序是否具备使用权(即授权码是否合法且是否还在有效使用日期内)。
具体地,上述应用程序是指需要验证授权的服务程序,该服务程序由开发人员开发并发布给各用户,且该服务程序具有一定的使用期限,超过使用期限后用户需要通过续费等方式来延长使用期限,若未延长使用期限,则无法继续使用该服务程序。
具体地,授权管理中心与安装该应用程序的终端设备进行通信,每当启动该应用程序,就会自动调用该授权文件包,并由该授权文件包通过jni调用授权动态库生成包含授权码信息的鉴权请求并发送给授权管理中心,或者在运行该应用程序时设置定时触发程序,基于该定时触发程序调用盖授权文件包,并由该授权文件包通过jni调用授权动态库生成包含授权码信息的鉴权请求并发送给授权管理中心。需要说明的是,授权动态库还包含预设加密算法,在调用授权动态库时,会根据该预设加密算法对授权码进行加密后得到授权码信息,只有采用与预设加密算法对应的预设解密算法才能进行解密并获取相应的授权码。授权管理中心则基于与安装该应用程序的终端设备的通信链路通过提供远程应用程序的授权校验http接口接收该鉴权请求。
S102:根据所述鉴权请求获取授权码和授权请求时间。
具体地,上述授权码是指写入在应用程序中的用于识别该应用程序的标识。上述鉴权请求是基于应用程序的授权动态库中的授权码生成的,因此该鉴权请求包含授权码信息,通过使用与预设加密算法对应的预设解密算法进行解密,就能够获取到该鉴权请求中包含的授权码。上述授权请求时间是指本次鉴权请求发送的时间或者接收到本次鉴权请求的时间。
在本实施例的一种实现方式中,上述S102包括以下步骤:
采用预设解密算法对所述鉴权请求进行解密获取授权码。
具体地,上述预设解密算法是与预设加密算法对应的,预设解密算法与预设加密算法的关联关系可以存储在上述授权管理中心中。
S103:若所述授权码与已绑定的授权码一致且所述授权请求时间满足预设时间条件,则通过所述鉴权请求。
具体地,基于解密得到的授权码进行身份验证,即将解密得到的授权码与已绑定的授权码进行比对,若解密得到的授权码与已绑定的授权码一致,则身份验证成功,若解密得到的授权码与已绑定的授权码不一致,则身份验证失败。基于授权请求时间进行有效期认证,若授权请求时间满足预设时间条件,则有效期认证成功,若授权请求时间不满足预设时间条件,则有效期认证失败。只有当身份验证和有效期认证均成功才能够授予该应用程序的使用权,即通过该鉴权请求。
在本实施例的一种可能的实现方式中,上述预设条件为该授权请求时间是否在有效使用日期内,若授权请求时间在有效使用日期内,则授权请求时间满足预设时间条件,若授权请求时间不在有效使用日期内,则授权请求时间不满足预设时间条件。
需要说明的是,上述已绑定的授权码是指授权管理中心中存储的与发送鉴权请求的应用程序绑定的授权码。即授权管理中心在接收到该鉴权请求后会查找并获取到存储在该授权中心的已绑定的授权码,并基于已绑定的授权码进行身份验证。还需要说明的是,只要应用程序未被篡改,则解密后得到的授权码必定与已绑定的授权码相同。
在本实施例的一种可能的实现方式中,上述方法在S103之后还包括以下步骤:
若所述授权码与已绑定的授权码不一致,则返回鉴权信息错误消息;
若所述授权请求时间不满足预设时间条件,则返回授权过期消息。
具体地,若授权码与已绑定的授权码不一致,则说明该应用程序的身份验证失败,因此授权管理中心会返回鉴权信息错误消息给到应用程序,以告知该应用程序本次鉴权请求未通过的原因为鉴权信息错误。
具体地,若授权时间不满足预设时间条件,则说明该应用程序已经超过使用期限,因此授权管理中心会返回授权过期消息给到应用程序,以告知该应用程序本次鉴权请求未通过的原因是授权已过期。
在本实施例的一种可能的实现方式中,在S103之后还包括以下步骤:
记录鉴权时间及鉴权结果。
具体地,授权管理中心会将本次鉴权结果进行记录和保存,然后将鉴权时间(即授权请求时间)与该鉴权结果同时进行记录。上述鉴权结果包括鉴权通过和鉴权未通过,鉴权未通过包括但不限于:鉴权信息错误、授权过期、网络错误等。
本申请实施例通过应用程序在启动或运行时调用已布属的授权文件包实现服务启动时授权验证及运行时定时授权验证,并基于该验证请求验证该应用程序是否为在授权期内的服务程序,进而达到远程对大量服务程序进行授权管理和定时使用管理的目的。
请参阅图2,图2示出了本申请另一实施例提供的应用程序鉴权方法的具体实现流程图,本实施例与上一实施例的不同之处在于,上述应用鉴权方法还包括以下步骤:
S201:将已绑定的授权码与预设加密算法进行编译,得到授权动态库。
具体地,授权管理中心会预先将应用程序与授权码进行绑定,并设置预设加密算法和预设解密算法,根据已绑定的授权码和预设加密算法生成C源文件,并对该C源文件进行编译得到对应的授权动态库windows系统使用.dll,linux系统使用.so。
具体地,上述预设加密算法可以是对称加密算法,也可以是非对称加密算法,还可以是随机数加密算法,在此不加以限制。
S202:根据所述授权动态库生成授权文件包,并将所述授权文件包加载到所述应用程序中。
具体地,基于授权动态库生成对应的授权文件包(jar包),并在发布应用程序之前将该授权文件包加载到应用程序中,使得启动或运行该应用程序时会使用native方法来调用该授权文件包。
本实施例提供的应用程序鉴权方法通过在授权管理中心将应用程序与授权码进行绑定,并将已绑定的授权码与预设加密算法通过jar包的形式加载在应用程序中,以便在应用程序启动或运行的过程中自动调用jar包,进一步调用动态库生成包含授权码信息的鉴权请求,自动完成鉴权操作。
请参阅图3,图3示出了本申请另一实施例提供的应用程序鉴权方法的具体实现流程图,本实施例与上一实施例的不同之处在于,上述应用鉴权方法还包括以下步骤:
S301:验证所述鉴权请求是否超时。
具体地,通过设置超时阈值,基于超时阈值来验证鉴权请求是否超时,若超过该超时阈值未接收到鉴权请求,则所述鉴权请求超时。例如启动应用程序10S后未接收到应用程序的鉴权请求,或者运行程序每个预设时间间隔内未接收到应用程序鉴权请求,则确定鉴权请求超时。可以理解的是,上述超时阈值可以根据实际需求进行设置,在此不加以限制。
S302:若所述鉴权请求超时,则获取上一次鉴权成功的鉴权时间,并记录超时次数。
具体地,上一次鉴权成功的鉴权时间是指记录在授权管理中心的鉴权结果为通过鉴权请求的最后一次保留的鉴权时间。超时次数是指鉴权请求超时的次数。每超时一次该超时次数加一。授权管理中心会根据鉴权请求是否超时来更新超时次数的记录。
S303:若所述上一次鉴权成功的鉴权时间超过预设时间阈值或所述超时次数超过预设次数,则返回网络错误信息。
具体地,只要上一次鉴权成功的鉴权时间超过预设时间阈值,则说明上一次鉴权已经失效。若超时次数超过预设次数,则说明安装该应用程序的终端设备与授权管理中心之间的通信网络存在错误。此时不能通过该鉴权请求,因此返回网络错误信息。该网络错误信息可以根据应用程序在预设反馈时间内未接收到授权管理中心返回的任何信息确定。
需要说明的是,上述预设时间阈值可以根据具体情况进行设置,例如设置为24小时,在此不加以限制。上述预设次数同样可以根据具体情况进行设置,例如设置为1000次,在此不加以限制。
S304:若所述上一次鉴权时间处于预设时间阈值内,则验证所述上一次鉴权时间与当前时间的时间间隔是否满足预设时间条件。
具体地,上述预设时间条件为该时间间隔是否在有效使用日期内,若在有效使用日期内,则满足预设时间条件,若超出有效使用日期,则不满足预设时间条件。
S305:若所述时间间隔满足预设时间条件,则通过所述鉴权请求。
具体地,只要该时间间隔满足预设时间条件,则说明上一次鉴权成功的鉴权时效还未过期,则直接通过该鉴权请求。
在本实施例的一种可能的实现方式中,上述应用程序鉴权方法还包括以下步骤:
若所述上一次鉴权时间处于预设时间阈值内,则获取当前时间;
验证所述当前时间是否处于所述上一次鉴权时间的有效期内;
若所述当前时间处于所述上一鉴权时间的有效期内,则验证所述时间间隔是否满足预设时间条件。
具体地,通过当前时间与上一鉴权时间的有效期进行比较,避免用户自行修改服务器时间且恶意断网的情况。
本实施例提供的应用程序鉴权方法,通过在鉴权请求超时的情况下基于上一次鉴权成功的鉴权时间来对本次鉴权请求进行验证,能够灵活地对鉴权请求进行验证并能够避免用户修改服务器时间并恶意断网以此获得授权的情况。
对应于上文实施例所述的应用程序鉴权方法,图4示出了本申请实施例提供的应用程序鉴权系统的结构框图,为了便于说明,仅示出了与本申请实施例相关的部分。
参照图4,该应用程序鉴权系统包括接收模块11、获取模块12以及鉴权模块13。
接收模块11用于接收应用程序的鉴权请求;所述鉴权请求由所述应用程序启动或运行时调用授权文件包生成的。
获取模块12用于根据所述鉴权请求获取授权码和授权请求时间。
鉴权模块13用于若所述授权码与已绑定的授权码一致且所述授权请求时间满足预设时间条件,则通过所述应用程序的鉴权请求。
进一步地,上述应用程序鉴权系统还包括编译模块和加载模块。
上述编译模块用于将已绑定的授权码与预设加密算法进行编译,得到授权动态库。
上述加载模块用于根据所述授权动态库生成授权文件包,并将所述授权文件包加载到所述应用程序中。
进一步地,上述获取模块包括解密单元。
上述解密单元用于采用预设解密算法对所述鉴权请求进行解密获取授权码。
进一步地,上述应用程序鉴权系统还包括第一返回模块和第二返回模块。
第一返回模块用于若所述授权码与已绑定的授权码不一致,则返回鉴权信息错误消息。
第二返回模块用于若所述授权请求时间不满足预设时间条件,则返回授权过期消息。
进一步地,上述应用程序鉴权方法还包括超时验证模块、超时次数模块、第三返回模块以及鉴权时间验证模块。
超时验证模块用于验证所述鉴权请求是否超时。
超时次数模块用于若所述鉴权请求超时,则获取上一次鉴权成功的鉴权时间,并记录超时次数。
第三返回模块用于若所述上一次鉴权成功的鉴权时间超过预设时间阈值或所述超时次数超过预设次数,则返回网络错误信息。
鉴权时间验证模块用于若所述上一次鉴权时间处于预设时间阈值内,则验证所述上一次鉴权时间与当前时间的时间间隔是否满足预设时间条件;若所述时间间隔满足预设时间条件,则通过所述鉴权请求。
进一步地,上述应用程序鉴权系统还包括当前时间获取模块和当前时间验证模块。
当前时间获取模块用于若所述上一次鉴权时间处于预设时间阈值内,则获取当前时间。
当前时间验证模块用于验证所述当前时间是否处于所述上一次鉴权时间的有效期内;若所述当前时间处于所述上一鉴权时间的有效期内,则验证所述时间间隔是否满足预设时间条件。
进一步地,上述应用程序鉴权系统还包括记录模块。
上述记录模块用于记录鉴权时间及鉴权结果。
需要说明的是,上述装置/单元之间的信息交互、执行过程等内容,由于与本申请方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
因此,本实施例提供的应用程序鉴权同样能够通过应用程序在启动或运行时调用已布属的授权文件包实现服务启动时授权验证及运行时定时授权验证,并基于该验证请求验证该应用程序是否为在授权期内的服务程序,进而达到远程对服务程序进行授权管理和定时使用管理的目的。
图5为本申请一实施例提供的终端设备的结构示意图。如图5所示,该实施例的终端设备5包括:至少一个处理器50(图5中仅示出一个)、存储器51以及存储在所述存储器51中并可在所述至少一个处理器50上运行的计算机程序52,所述处理器50执行所述计算机程序52时实现上述任意各个门禁控制方法实施例中的步骤。
所述终端设备5可以是桌上型计算机、笔记本、掌上电脑及云端终端设备等计算设备。该终端设备可包括,但不仅限于,处理器50、存储器51。本领域技术人员可以理解,图5仅仅是终端设备5的举例,并不构成对终端设备5的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如还可以包括输入输出设备、网络接入设备等。
所称处理器50可以是中央处理单元(Central Processing Unit,CPU),该处理器50还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器51在一些实施例中可以是所述终端设备5的内部存储单元,例如终端设备5的硬盘或内存。所述存储器51在另一些实施例中也可以是所述终端设备5的外部存储设备,例如所述终端设备5上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器51还可以既包括所述终端设备5的内部存储单元也包括外部存储设备。所述存储器51用于存储操作系统、应用程序、引导装载程序(Boot Loader)、数据以及其他程序等,例如所述计算机程序的程序代码等。所述存储器51还可以用于暂时地存储已经输出或者将要输出的数据。
示例性的,所述计算机程序52可以被分割成一个或多个单元,所述一个或者多个单元被存储在所述存储器51中,并由所述处理器50执行,以完成本申请。所述一个或多个单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序52在所述终端设备5中的执行过程。例如,所述计算机程序52可以被分割成接收模块、获取模块以及鉴权模块,各单元具体功能如下:
接收模块,用于接收应用程序的鉴权请求;所述鉴权请求由所述应用程序启动或运行时调用授权文件包生成的;
获取模块,用于根据所述鉴权请求获取授权码和授权请求时间;
鉴权模块,用于若所述授权码与已绑定的授权码一致且所述授权请求时间满足预设时间条件,则通过所述应用程序的鉴权请求。
本申请实施例还提供了一种网络设备,该网络设备包括:至少一个处理器、存储器以及存储在所述存储器中并可在所述至少一个处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任意各个方法实施例中的步骤。
本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现可实现上述各个方法实施例中的步骤。
本申请实施例提供了一种计算机程序产品,当计算机程序产品在移动终端上运行时,使得移动终端执行时实现可实现上述各个方法实施例中的步骤。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质至少可以包括:能够将计算机程序代码携带到拍照装置/终端设备的任何实体或装置、记录介质、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、电载波信号、电信信号以及软件分发介质。例如U盘、移动硬盘、磁碟或者光盘等。在某些司法管辖区,根据立法和专利实践,计算机可读介质不可以是电载波信号和电信信号。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置/网络设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/网络设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。

Claims (10)

1.一种应用程序鉴权方法,其特征在于,包括:
接收应用程序的鉴权请求;所述鉴权请求由所述应用程序启动或运行时调用授权文件包生成的;
根据所述鉴权请求获取授权码和授权请求时间;
若所述授权码与已绑定的授权码一致且所述授权请求时间满足预设时间条件,则通过所述鉴权请求。
2.如权利要求1所述的应用程序鉴权方法,其特征在于,还包括:
将已绑定的授权码与预设加密算法进行编译,得到授权动态库;
根据所述授权动态库生成授权文件包,并将所述授权文件包加载到所述应用程序中。
3.如权利要求1所述的应用程序鉴权方法,其特征在于,所述根据所述鉴权请求获取授权码和授权请求时间,包括:
采用预设解密算法对所述鉴权请求进行解密获取授权码。
4.如权利要求1所述的应用程序鉴权方法,其特征在于,在所述若所述授权码与已绑定的授权码一致且所述授权请求时间满足预设时间条件,则通过所述应用程序的鉴权请求之后,还包括:
若所述授权码与已绑定的授权码不一致,则返回鉴权信息错误消息;
若所述授权请求时间不满足预设时间条件,则返回授权过期消息。
5.如权利要求1所述的应用程序鉴权方法,其特征在于,在所述接收应用程序的鉴权请求之前,还包括:
验证所述鉴权请求是否超时;
若所述鉴权请求超时,则获取上一次鉴权成功的鉴权时间,并记录超时次数;
若所述上一次鉴权成功的鉴权时间超过预设时间阈值或所述超时次数超过预设次数,则返回网络错误信息;
若所述上一次鉴权时间处于预设时间阈值内,则验证所述上一次鉴权时间与当前时间的时间间隔是否满足预设时间条件;
若所述时间间隔满足预设时间条件,则通过所述鉴权请求。
6.如权利要求5所述的应用程序鉴权方法,其特征在于,还包括:
若所述上一次鉴权时间处于预设时间阈值内,则获取当前时间;
验证所述当前时间是否处于所述上一次鉴权时间的有效期内;
若所述当前时间处于所述上一鉴权时间的有效期内,则验证所述时间间隔是否满足预设时间条件。
7.如权利要求1至6任一项所述的应用程序鉴权方法,其特征在于,在若所述授权码与已绑定的授权码一致且所述授权请求时间满足预设时间条件,则通过所述鉴权请求之后,还包括:
记录鉴权时间及鉴权结果。
8.一种应用程序鉴权系统,其特征在于,包括:
接收模块,用于接收应用程序的鉴权请求;所述鉴权请求由所述应用程序启动或运行时调用授权文件包生成的;
获取模块,用于根据所述鉴权请求获取授权码和授权请求时间;
鉴权模块,用于若所述授权码与已绑定的授权码一致且所述授权请求时间满足预设时间条件,则通过所述应用程序的鉴权请求。
9.一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述的应用程序鉴权方法。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的应用程序鉴权方法。
CN201911152929.5A 2019-11-22 2019-11-22 一种应用程序鉴权方法及系统 Pending CN111159657A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911152929.5A CN111159657A (zh) 2019-11-22 2019-11-22 一种应用程序鉴权方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911152929.5A CN111159657A (zh) 2019-11-22 2019-11-22 一种应用程序鉴权方法及系统

Publications (1)

Publication Number Publication Date
CN111159657A true CN111159657A (zh) 2020-05-15

Family

ID=70556082

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911152929.5A Pending CN111159657A (zh) 2019-11-22 2019-11-22 一种应用程序鉴权方法及系统

Country Status (1)

Country Link
CN (1) CN111159657A (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112507291A (zh) * 2020-11-18 2021-03-16 北京深思数盾科技股份有限公司 Android设备的唯一标识的生成方法和装置
CN112559976A (zh) * 2020-12-08 2021-03-26 广联达科技股份有限公司 一种产品授权方法及系统
CN113536241A (zh) * 2021-06-01 2021-10-22 上海赫千电子科技有限公司 一种车载系统可计数的软件授权方法
CN114444029A (zh) * 2022-01-11 2022-05-06 北京易智时代数字科技有限公司 一种vr应用运行时的使用权验证方法、装置及电子设备
CN116055036A (zh) * 2022-12-08 2023-05-02 江苏拓米洛高端装备股份有限公司 非联网系统动态密码生成方法和非联网系统身份认证方法
CN117390604A (zh) * 2022-08-15 2024-01-12 荣耀终端有限公司 一种本地鉴权方法和电子设备

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1782941A (zh) * 2004-12-04 2006-06-07 鸿富锦精密工业(深圳)有限公司 软件授权与保护装置及方法
CN102385671A (zh) * 2010-09-02 2012-03-21 研祥智能科技股份有限公司 软件加密方法及系统
CN103365675A (zh) * 2012-04-02 2013-10-23 鸿富锦精密工业(深圳)有限公司 试用软件处理系统及方法
CN105471809A (zh) * 2014-05-28 2016-04-06 北京奇虎科技有限公司 软件授权信息的验证方法及系统
CN107133499A (zh) * 2017-05-10 2017-09-05 百望电子发票数据服务有限公司 一种软件版权保护方法、客户端、服务端以及系统
CN107743115A (zh) * 2016-12-22 2018-02-27 腾讯科技(深圳)有限公司 一种终端应用的身份认证方法、装置和系统
CN108810894A (zh) * 2018-05-31 2018-11-13 康键信息技术(深圳)有限公司 终端授权方法、装置、计算机设备和存储介质

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1782941A (zh) * 2004-12-04 2006-06-07 鸿富锦精密工业(深圳)有限公司 软件授权与保护装置及方法
CN102385671A (zh) * 2010-09-02 2012-03-21 研祥智能科技股份有限公司 软件加密方法及系统
CN103365675A (zh) * 2012-04-02 2013-10-23 鸿富锦精密工业(深圳)有限公司 试用软件处理系统及方法
CN105471809A (zh) * 2014-05-28 2016-04-06 北京奇虎科技有限公司 软件授权信息的验证方法及系统
CN107743115A (zh) * 2016-12-22 2018-02-27 腾讯科技(深圳)有限公司 一种终端应用的身份认证方法、装置和系统
CN107133499A (zh) * 2017-05-10 2017-09-05 百望电子发票数据服务有限公司 一种软件版权保护方法、客户端、服务端以及系统
CN108810894A (zh) * 2018-05-31 2018-11-13 康键信息技术(深圳)有限公司 终端授权方法、装置、计算机设备和存储介质

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112507291A (zh) * 2020-11-18 2021-03-16 北京深思数盾科技股份有限公司 Android设备的唯一标识的生成方法和装置
CN112559976A (zh) * 2020-12-08 2021-03-26 广联达科技股份有限公司 一种产品授权方法及系统
CN112559976B (zh) * 2020-12-08 2024-03-19 广联达科技股份有限公司 一种产品授权方法及系统
CN113536241A (zh) * 2021-06-01 2021-10-22 上海赫千电子科技有限公司 一种车载系统可计数的软件授权方法
CN113536241B (zh) * 2021-06-01 2024-05-28 上海赫千电子科技有限公司 一种车载系统可计数的软件授权方法
CN114444029A (zh) * 2022-01-11 2022-05-06 北京易智时代数字科技有限公司 一种vr应用运行时的使用权验证方法、装置及电子设备
CN114444029B (zh) * 2022-01-11 2023-02-28 北京易智时代数字科技有限公司 一种vr应用运行时的使用权验证方法、装置及电子设备
CN117390604A (zh) * 2022-08-15 2024-01-12 荣耀终端有限公司 一种本地鉴权方法和电子设备
CN116055036A (zh) * 2022-12-08 2023-05-02 江苏拓米洛高端装备股份有限公司 非联网系统动态密码生成方法和非联网系统身份认证方法
CN116055036B (zh) * 2022-12-08 2024-03-12 江苏拓米洛高端装备股份有限公司 非联网系统动态密码生成方法和非联网系统身份认证方法

Similar Documents

Publication Publication Date Title
CN111159657A (zh) 一种应用程序鉴权方法及系统
CN108898389B (zh) 基于区块链的内容验证方法及装置、电子设备
CN108923908B (zh) 授权处理方法、装置、设备及存储介质
US9336369B2 (en) Methods of licensing software programs and protecting them from unauthorized use
CN104199654A (zh) 开放平台的调用方法及装置
JPH11355264A (ja) 国際暗号体系のホストシステム要素
TWI762293B (zh) 安全的服務請求處理方法及裝置
CN111526111B (zh) 登录轻应用的控制方法、装置和设备及计算机存储介质
CN110908786A (zh) 一种智能合约调用方法、装置及介质
CN112231702B (zh) 应用保护方法、装置、设备及介质
CN104199657A (zh) 开放平台的调用方法及装置
US20110041180A1 (en) Auditing a device
CN112689285B (zh) 一种移动端sdk的授权认证方法及系统
US8112623B2 (en) Communication terminal apparatus, server terminal apparatus, and communication system using the same
CN111628863B (zh) 一种数据签名的方法、装置、电子设备及存储介质
CN110708310A (zh) 租户级权限管理方法、装置及设备
CN110545272A (zh) 一种身份认证、权限认证方法、装置及用户管理系统
CN111062059B (zh) 用于业务处理的方法和装置
US20220092155A1 (en) Protecting an item of software
CN114880011A (zh) Ota升级方法、装置、电子设备及可读存储介质
CN113329004B (zh) 一种认证方法、系统及装置
CN114329358A (zh) 应用签名方法、系统、交易终端及服务平台
CN109063422B (zh) 一种付费应用的下载运行方法、加固方法和服务器
CN115391801A (zh) 区块链系统中加密模块的更新方法、装置及相关产品
CN111597577B (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
RJ01 Rejection of invention patent application after publication

Application publication date: 20200515

RJ01 Rejection of invention patent application after publication