本申请属于资源授权管理技术领域,尤其涉及一种授权管理方法和系统。
背景技术:
目前,一些权限类应用的授权管理,一般都是通过基于u盘的授权方式实现的。即,用户根据自己的需求形成相应的权限请求,从应用提供商处购买应用以及对应的使用权限(例如,可使用时长、可使用的次数等)。应用提供商将该用户所购买的使用权限设置在u盘中或者是光盘等物理载体中,然后将设置有使用权限的u盘或光盘提供给用户,用户可以将上述u盘或者光盘等安装在客户端电脑上或者是服务器上,以实现对该应用授权使用。
然而,这种通过物理载体进行授权控制的方式,通常要求用户拥有具体的物理载体,这样在进行权限购买到授权使用的过程中,就需要有一个物理载体传输的过程,导致上述授权方法在实现时效率相对较低。进一步的,如果需要进行权限的变动(例如用户改变了原有的权限请求),就需要应用提供商重新设置并提供一个设置有新的使用权限的物理载体,即基于现有方法的实施过程相对较为繁琐。
针对上述问题,目前尚未提出有效的解决方案。
技术实现要素:
本申请目的在于提供一种授权管理方法和系统,以解决现有方法存在的实施效率低、实施过程繁琐的技术问题,达到能够兼容多种部署环境中应用的授权管理,高效、便利地根据用户的授权申请,授权管理用户在对应的权限内使用应用的技术效果。
本申请提供一种授权管理方法和系统是这样实现的:
一种授权管理系统,包括:用户端设备和应用服务器,其中:所述用户端设备部署有授权管理器,其中,所述授权管理器与所述用户端设备是一一对应的关系;所述授权管理器用于向所述应用服务器发送授权请求,并接收所述应用服务器基于所述授权请求返回的授权码,基于所述授权码对用户端设备中的目标应用进行授权控制。
一种授权管理方法,包括:授权管理器获取对目标应用的权限请求,其中,所述授权管理器与所述目标应用所在的用户端设备是一一对应的关系;将所述权限请求转换为授权请求,并将所述授权请求发送至应用服务器;接收所述应用服务器基于所述授权请求返回的授权码;根据所述授权码对所述目标应用进行授权控制。
一种授权管理方法,包括:接收来自授权管理器的对目标应用的授权请求,其中,所述授权管理器与所述目标应用所在的用户端设备是一一对应的关系;根据所述授权请求生成授权码;将所述授权码发送至所述授权管理器,以控制所述授权管理器根据所述授权码对所述目标应用进行授权控制。
一种授权管理器,包括处理器,其中,所述处理器用于获取对目标应用的权限请求,其中,所述授权管理器与所述目标应用所在的用户端设备是一一对应的关系;将所述权限请求转换为授权请求,并将所述授权请求发送至应用服务器;接收所述应用服务器基于所述授权请求返回的授权码;根据所述授权码对所述目标应用进行授权控制。
一种应用服务器,包括处理器,其中,所述处理器用于接收来自授权管理器的对目标应用的授权请求,其中,所述授权管理器与所述目标应用所在的用户端设备是一一对应的关系;根据所述授权请求生成授权码;将所述授权码发送至所述授权管理器,以控制所述授权管理器根据所述授权码对所述目标应用进行授权控制。
一种计算机可读存储介质,其上存储有计算机指令,所述指令被执行时实现以下内容:通过授权管理器获取对目标应用的权限请求,其中,所述授权管理器与所述目标应用所在的用户端设备是一一对应的关系;将所述权限请求转换为授权请求,并将所述授权请求发送至应用服务器;接收所述应用服务器基于所述授权请求返回的授权码;根据所述授权码对所述目标应用进行授权控制。
本申请提供的授权管理方法和系统,通过事先在用户端设备上部署授权管理器,利用授权管理器与应用服务器进行数据交互,实现向应用服务器发送授权请求,并获取基于授权请求的授权码,以便对用户端设备的目标应用进行相应的授权控制,从而解决了现有方法中存在的实施效率低、实施过程繁琐的技术问题,达到能够兼容多种部署环境中目标应用的授权管理,高效、便利地根据授权请求,对用户端设备中目标应用进行相应的授权管理的技术效果。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请提供的授权管理系统的架构示意图;
图2是应用本申请提供的授权管理系统进行授权管理的一种流程示意图;
图3是应用本申请提供的授权管理系统进行授权管理时的授权请求的设置界面示意图;
图4是应用本申请提供的授权管理系统进行授权管理的另一种流程示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
考虑到现有的授权管理方法大多需要依赖接入设置或者绑定有使用权限的u盘等物理载体作为实现媒介,以验证相关的授权信息,进而控制用户端设备在相应的使用权限内使用该目标应用。而u盘等物理载体是一种实体化的硬件设备,使用起来往往并不方便。此外,现有的授权管理方法大多需要应用提供商根据用户的权限请求,以只能读取不能写入的方式将相应的使用权限固定设置在u盘等物理载体中。这时,如果用户改变了权限请求,则需要应用提供商根据用户新的权限请求,重新制作对应的u盘等物理载体,以便授权用户在新使用权限内使用该应用。这样势必会导致基于现有的授权管理方法在修改、更新用户的使用权限的实施过程较为繁琐,处理效率相对较低,用户体验也相对较差。综上可见,现有的授权管理方法具体实施时往往会存在实施效率低、实现过程繁琐的技术问题。
基于此,在本例中提供了一种不需要依靠u盘等物理载体就可以实现对目标应用进行授权管理的方法和系统。具体的,可以分别在各个用户端设备上部署授权管理器,其中,上述授权管理器与用户端设备一一对应,且可以与应用提供商的应用服务器进行数据交互,这样实施时可以通过设置在用户端设备的授权管理器发送授权请求,并接收应用提供商针对该用户的授权请求所提供的授权码,进而可以根据授权码授权管理用户端设备在使用权限内使用该目标应用,从而解决现有方法中存在的实施效率低、实施过程繁琐的技术问题。
如图1所示,本申请实施例提供了一种授权管理系统。其中,该授权管理系统可以包括:应用服务器101和用户端设备102,其中,用户端设备102上部署有授权管理器103,各个授权管理器103具体又可以与应用服务器101耦合,且各个授权管理器103分别与用户端设备102设备一一对应。例如,授权管理器103-1与用户端设备102-1一一对应,授权管理器103-2与用户端设备102-2一一对应。
在上述授权管理系统中,用户端设备102具体可以是单个的物理机,例如,可以是单个的台式计算机、笔记电脑、服务器(例如图1中的用户端设备102-1)等。也可以是由多个物理机组成的集群,例如,可以是由多个服务器组成的服务器集群(例如图1中的用户端设备102-2)。
上述授权管理器103可以部署在用户端设备102上,并通过有线或无线的方式与应用服务器101耦合,以便可以通过授权管理器103与应用服务器101进行数据交互。这样在授权管理的实施过程中,授权管理器103可以获取用户端设备对目标应用的使用需求,即权限请求,并将所述权限请求转换为授权请求,将上述授权请求发送至应用提供商的应用服务器102。应用服务器102可以根据授权请求生成对应的授权码,并将授权码发送至授权管理器103。进而授权管理器103可以根据授权码,授权控制对应的用户端设备102按照使用权限使用目标应用。
在一个实施方式中,上述授权管理器具体可以是一种软件程序,也可以是一种实体的设备器件等。具体实施时,可以根据具体情况和实施要求,选择与用户端设备相匹配的软件程序或者实体的设备器件等作为上述授权管理器。
在部署授权管理器时,可以根据授权管理器的具体形式,采用对应的方式进行部署。例如,在授权管理器为程序软件的情况下,可以在用户端设备分别安装相应的程序软件,以完成授权管理器的部署。在授权管理器为实体的设备器件的情况下,可以将实体的设备器件与用户端设备相连,或者将实体的设备器件集成在用户端设备上,以完成授权管理器的部署。
在按照上述方式部署好授权管理器后,可以参阅图2所示,利用上述授权管理系统对用户端设备使用目标应用进行具体的授权管理。当用户想要在用户端设备上运行某个目标应用(例如某计算软件、通讯软件或办公软件等)时,可以先通过用户端设备向授权管理器发出针对该目标应用的权限请求(例如可以是用户需要在该用户端设备上使用该目标应用的中的某个功能模块,或者使用该目标应用的时间,或者使用该目标应用的数量等);授权管理器在接收到上述针对目标应用的权限请求后,可以将将权限请求转换为授权请求,并将授权请求发送至该目标应用提供商的应用服务器;应用服务器可以根据授权请求,生成相应的授权码,其中,该授权码可以包含有该用户端设备使用目标应用的使用权限,并将该授权码发送至对应的授权管理器;授权管理器在接收到授权码后,可以根据授权码授权并控制该用户端设备在相应的使用权限内使用目标应用(例如授权并控制用户端设备使用该目标应用中的通讯模块,或者授权并控制用户端设备在2018年5月1日至2018年6月1日这个时间段内使用该目标应用,还或者授权并控制用户端设备同时运行目标应用的数量在20个以内等)。需要说明的是,上述授权码具体可以是按照预设规则生成的字符串。对于上述授权码的具体形式,本申请不作限定。
考虑到当用户端设备较多时,不同用户基于不同的用户端设备对目标应用的使用需求可能是不同的,为了能够准确地区分不同的用户端设备,进而准确地针对不同用户的对权限请求,对用户端设备进行相应的授权管理,授权管理器在接收到权限请求后,授权管理器还可以获取能够表征授权管理器的身份的标识信息,进而可以根据标识信息和权限请求生成对应的授权请求。其中,上述标识信息与授权管理器一一对应。
具体的,上述标识信息可以是用以是按照预设规则生成的字符串。例如,授权管理器103-1的标识信息可以表示为103-1,授权管理器103-2的标识信息可以表示为103-2。
为了获取上述标识信息时,授权管理器可以先进行物理唯一性校验,以识别出授权管理器自身的物理标识(例如物理标号、id编号等),并将该物理标识作为标识信息。当然上述所列举的获取标识信息的方式只是一种示意性说明。具体实施时,也可以根据具体情况采用其他方式获取标识信息。
在一个实施方式中,在获取上述标识信息后,可以根据标识信息,按照一定的规则生成对应的序列码;从所接收的权限请求中提取所请求的使用权限,基于上述序列码和使用权限生成对应的授权请求;再将上述授权请求发送至应用服务器。应用服务器在接收到上述包含有标识信息的授权请求后,可以通过数据解析得到上述标识信息,进而能够确定出发送该授权请求的授权管理器。
进一步,应用服务器还可以根据上述标识信息对发送该授权请求的授权管理器的合法性进行验证。例如,可以通过查询数据库中的标识信息列表是否存在该标识信息,以确定该授权管理器以及对应的用户端设备是否是已登记的合法设备。如果在数据库中的标识信息列表中存在与该标识信息一致的信息,则可以判断该授权管理器以及该用户端设备合法,可以根据授权请求生成相应的授权码,以便该授权管理器可以根据授权码授权管理该用户端设备使用目标应用。如果在数据库中的标识信息列表中没有找到与该标识信息一致的信息,则可以判断该授权管理器以及该用户端设备不合法,即该授权管理器可能不是应用服务器认可的授权管理设备,或者该用户端设备尚未完成登记等认证手续,这时应用服务器可以不生成授权码,而向授权管理器返回提示信息,以提示身份不合法,请检查修正。
在一个实施例中,为了使得授权管理器能够有效地根据授权码授权控制用户端设备按照使用权限使用目标应用,在部署授权管理器时,可以将授权管理器与用户端设备的连接接口(例如sdk接口等)相连,这样授权管理器可以通过控制连接接口以控制用户端设备按照使用权限使用目标应用。具体的,在授权管理器接收到相应的授权码之前,授权管理器可以通过控制连接接口关闭,以阻止用户端设备在没有被授权的情况下使用目标应用。在授权管理器接收到授权码后,授权管理器可以根据授权码中使用权限控制连接接口,以便用户端设备能够按照使用权限使用目标应用。当然上述所列举的通过连接接口对目标应用在用户端设备上的使用进行授权管理的方式只是为了更好地说明本申请实施方式。具体实施时,也可以采用其他方式使得授权管理器能够对目标应用进行相应的授权管理。对此,本申请不作限定。
进一步,为了使得授权管理器能够有效监控用户端设备是否按照使用权限使用目标应用,授权管理器还可以采集用户端设备使用目标应用的运行数据。例如,采集用户端设备使用目标应用的时间、用户端设备运行目标应用的数量等,进而可以根据所采集的运行数据确定用户端设备是否在使用权限范围内使用目标应用,是否存在越权使用行为。
具体的,上述授权管理器可以通过用户端设备的连接接口,按照预定的时间间隔采集用户端设备使用目标应用的运行数据,进而根据所采集的运行数据对用户端设备使用目标应用进行定期监控。
例如,部署在某公司用户端设备上的授权管理器可以与用户端设备的sdk接口相连,在用户端设备运行办公精灵软件时,授权管理器可以通过该sdk接口每隔2小时采集该公司用户端设备同时在线运行的办公精灵的账号数量作为一种运行数据(具体授权管理器可以在用户端开始使用办公精灵起,与sdk接口建立并保持会话,以定期获取上述运行数据);进而授权管理器可以根据上述运行数据确定该公司用户端设备同时在线运行的办公精灵的账号数量是否超过使用权限中所限定的该用户端设备的可同时运行的办公精灵的账号数量的上限。如果根据采集到的运行数据发现该公司用户端设备同时在线运行的办公精灵的账号数量为26,小于使用权限中所限定的账号数量的上限(例如30),授权管理器可以判断该用户端是在应用服务器授权的使用权限范围内运行办公软件,没有出现越权使用的情况,这时可以继续保持sdk接口的开启状态,以允许用户端设备继续使用办公精灵,同时继续通过sdk接口定期采集运行数据。如果根据某一时刻所采集到的运行数据发现该用户端设备同时在线运行的办公精灵的账号数量为42,大于使用权限所限定的账号数量的上限,授权管理器可以判断该用户端设备在运行办公精灵时已经超出了使用权限范围,即已经出现了越权使用的情况,这时可以通过sdk接口停止用户端设备继续使用办公精灵,同时还可以将所采集的运行数据作为越权使用的证据进行记录保存,或者发送至应用服务器,以便办公精灵提供商可以根据上述运行数据进行后续的维权处理。当然,需要说明的是,上述所列举的按照预定的时间间隔(2小时)定期采集运行数据只是一种示意说明。在条件允许的情况下,也可以通过连接接口实时采集上述运行数据,以便对用户端设备使用目标应用进行更加精准的监控管理。
在授权管理器收到授权码,并根据授权码授权控制用户端设备按照使用权限使用目标应用后,如果用户有了新的权限请求时,更新了权限请求,用户可以通过授权管理器向应用服务器发出更新后的权限请求,应用服务器在接收到更新后的权限请求之后,可以根据更新的后权限请求生成包含有对应的更新后的使用权限的授权码,并将该授权码发送至授权管理器,以便管理器可以直接对原有的授权码进行更新,进而按照更新后的授权码中所包含的新的使用权限,授权管理用户端设备使用目标应用。
例如,某公司想要增加用户端设备可同时在线运行的办公精灵的账号数量,希望将数量上限由原来的30修改为40。这时,用户可以通过授权管理器向办公精灵的应用服务器发送更新后的权限请求。当然用户也可以不经过授权管理器,通过其他方式(例如办公精灵的网站所提供的修改界面)向应用服务器发送更新后的权限请求。应用服务器可以根据更新后的权限请求生成对应的授权码,再将该授权码发送至用户端设备的授权管理器,以便授权管理器可以根据更新后的授权码直接修改授权管理器中原有的授权码。进而授权管理器可以根据更新后的授权码,授权监控用户端设备可以按照更新后的使用权限运行办公精灵。这样当用户端设备同时运行的办公精灵的账号数量大于30但小于40时,用户端设备还能继续正常地使用办公精灵。
上述方式可以避免现有的授权管理方法针对用户新的使用需求需要重新制作提供对应的授权u盘等硬件设备的麻烦,使得授权码的变更实施更为便捷,减小了实施成本,也提高了授权效率,有助于改善用户体验。
在本申请实施例中,本申请实施例所提供的授权管理方法和系统,通过事先在用户端设备上部署授权管理器,利用授权管理器与应用服务器进行数据交互,实现向应用服务器发送授权请求,并获取基于授权请求的授权码,以便对用户端设备的目标应用进行相应的授权控制,从而解决了现有方法中存在的实施效率低、实施过程繁琐的技术问题,达到能够兼容多种部署环境中目标应用的授权管理,高效、便利地根据授权请求,对用户端设备中目标应用进行相应的授权管理的技术效果。
在一个实施方式中,为了方便用户通过用户端设备输入针对目标应用的权限请求,可以在目标应用中设置一个权限请求的设置界面,其中,该页面可以响应目标应用未被授权时用户对该应用的运行操作展示在用户端设备上,以供用户自行输入具体的权限请求,并将用户输入的权限请求发送至授权管理器。
具体的,用户可以在用户端设备运行已安装好但未被授权的目标应用(例如双击该目标应用)。这时在目标应用可以在用户端设备上弹出权限请求的设置界面,可以参阅图3所示。用户可以根据具体情况和实施要求,在权限请求的设置界面设置满足自己使用需要的权限请求。具体的,用户可以在权限请求的设置界面中设置对整个目标应用的运行进行请求,也可以在权限请求的设置界面中设置对目标应用中的某个功能模块的权限请求,还可以在权限请求的设置界面中设置对目标应用中的使用方式或使用参数的权限请求。这样用户可以基于不同的使用场景、不同使用目的,灵活方便地自定义具体的权限请求。例如,某公司可以根据该公司当前规模和运营情况,在上述权限请求的设置界面中设置用户端设备上同一时间运行办公精灵的数量上限为30,设置用户端设备运行办公精灵的有效时间为2018年至2019年。通过上述权限请求的设置界面完成针对办公精灵的使用参数的权限请求的设置。授权管理器可以通过采集用户在上述界面上的设置的参数,以获取用户的权限请求。当然,用户还可以主动在目标应用的权限设置项目栏中填入相应的权限请求,以便授权管理器可以准确地获取用户的权限请求。需要补充的是,上述所列举的获取用户针对目标应用的权限请求的实施方式只是一种示意性说明。具体实施时,也可以根据具体情况设置其他方式以获取用户的权限请求。对此,本申请不作限定。
在一个实施方式中,上述目标应用可以是一种软件资源。具体可以是用于用户端设备使用的计算软件。也可以是用于用户端设备的通讯软件,例如办公精灵、丁丁、微信等软件。
用户在用户端设备上部署上述目标应用时,可以先通过网络下载相应的目标应用的安装程序,再在用户端设备上安装具体的目标应用。当然也可以通过目标应用的安装盘(包括光盘、u盘、移动硬盘等)直接在用户端设备上安装对应的目标应用。
需要补充的是,上述目标应用被安装好后,但还没有被授权,这时需要用户根据自己的使用需求先通过授权管理器向应用服务器进行授权,在被授权后,用户端设备才能按照自己的使用需求在相应的使用权限内正常使用目标应用。
在一个实施方式中,用户在部署授权管理器时,具体可以从网络上下载与目标应用对应的插件程序(即与目标应用对应的软件形式的授权管理器),并将该插件程序安装在用户端设备上,以完成对用户端设备的授权管理器的部署。当然,用户也可以通过安装盘等方式在用户端设备上完成授权管理器的部署。也可以使用在用户端设备上物理连接一个与目标应用对应的实体设备(即与目标应用对应的实体形式的授权管理器),以完成对用户侧的授权管理器的部署。
在具体部署授权管理器时,可以将授权管理器与用户端设备的连接接口(例如sdk接口)相连,进而可以授权管理器可以通过上述连接接口采集用户端设备运行目标应用的运行数据,并对目标应用在用户端设备上的运行进行具体控制。例如,可以通过上述连接接口允许在用户端设备上运行目标应用,也可以阻止在用户端设备上运行目标应用。
在一个实施方式中,授权管理器将权限请求发送至应用服务器之前,为了提高系统的安全性,防止被破解,可以先对授权请求进行加密处理,以生成加密后的授权请求;再将加加密后的授权请求发送至应用服务器。
具体的,授权管理器可以通过对称加密算法(des)和/或非对称加密算法(rsa)等多种算法中的一种或多种组合对上述权限请求进行加密处理,以生成加密后的授权请求。相应的,在应用服务器一端可以部署有与授权管理器所采用的加密算法对应的解密算法,进而应用服务器可以对加密后的授权请求进行解密处理,以获取用户的权限请求。当然,需要说明的是上述所列举的加密方式只是为了更好地说明本申请实施方式,具体实施时,也可以根据具体情况,采用其他类型的加密算法对上述权限请求进行加密处理。
进一步,为了避免应用服务器发送给授权管理器的授权码被破解,为提高应用服务器在授权过程中的安全性、可靠性,应用服务器在将授权码发送至授权管理器之前,还可以先对授权码进行加密处理,以生加密后的授权码;再将加密后的授权码发送至授权管理器。
与授权管理器加密授权请求的方式类似,应用服务器也可以通过对称加密算法(des)和/或非对称加密算法(rsa)等多种加密算法的一种或多种对上述授权码进行加密处理,以生成加密后的授权码。相应的,在授权管理器一端部署有与应用服务器所采用的加密算法对应的解密算法,进而授权管理器可以对加密后的授权码进行解密处理,以获取具体的授权码。
在本申请实施例中,本申请实施例所提供的授权管理方法和系统,通过事先在用户端设备上部署授权管理器,利用授权管理器与应用服务器进行数据交互,实现向应用服务器发送授权请求,并获取基于授权请求的授权码,以便对用户端设备的目标应用进行相应的授权控制,从而解决了现有方法中存在的实施效率低、实施过程繁琐的技术问题,达到能够兼容多种部署环境中目标应用的授权管理,高效、便利地根据授权请求,对用户端设备中目标应用进行相应的授权管理的技术效果;又通过部署在用户端设备的授权管理器采集用户端设备具体使用目标应用的运行数据,并根据该运行数据,对用户端设备使用目标应用的具体情况进行监控,从而能够达到有效监测用户端设备是否存在越权使用,并记录保存越权使用的运行数据作为证据,以便后续处理;还可以在用户发出更新后的权限请求后,利用应用服务器所提供的基于更新后的授权请求所生成的更新后的授权码,对授权管理管理器中原有的授权码进行更新,提高了授权效率,改善了用户体验;还通过对授权请求、授权码进行加密处理,提高了授权过程的安全性和可靠性。
在一个实施例中,本申请还提供了一种授权管理系统,该授权管理系统可以参阅图1,具体可以包括:用户端设备和应用服务器,其中:所述用户端设备具体可以部署有授权管理器,其中,所述授权管理器与所述用户端设备是一一对应的关系;所述授权管理器具体可以用于向所述应用服务器发送授权请求,并接收所述应用服务器基于所述授权请求返回的授权码,基于所述授权码对用户端设备中的目标应用进行授权控制。
在一个实施方式中,所述授权请求具体可以携带有以下至少之一:请求授权的目标应用标识、请求授权的使用时长、请求授权的在线运行数量等。当然,需要说明的是,上述所列举的授权请求所携带的信息只是为了更好地说明本申请实施方式。具体实施时,也可以根据具体情况和要求,使得授权请求携带有除上述所列举的信息以外的其他信息,以实现针对不同使用需求的授权申请。
在一个实施方式中,所述授权管理器具体还可以用于在所述用户端设备运行所述目标应用的过程中,获取运行数据,并将所述运行数据上传至所述应用服务器。这样应用服务器可以根据需要记录并保存用户端设备的运行数据,以便后续的分析处理。
基于图1的授权管理系统,在本例中还提供了一种基于授权管理器一侧的授权管理方法,可以包括以下步骤:
s1:授权管理器获取对目标应用的权限请求,其中,所述授权管理器与所述目标应用所在的用户端设备是一一对应的关系;
s2:将所述权限请求转换为授权请求,并将所述授权请求发送至应用服务器;
s3:接收所述应用服务器基于所述授权请求返回的授权码;
s4:根据所述授权码对所述目标应用进行授权控制。
在一个实施方式中,上述将所述权限请求转换为授权请求,具体实施时可以包括:获取授权管理器对应的标识信息;根据所述标识信息生成序列号;从所述权限请求中提取出所请求的使用权限;基于所述序列号和所述使用权限,生成所述授权请求。
在一个实施方式中,上述根据所述授权码对所述目标应用进行授权控制,具体实施时,可以包括:从所述授权码中提取出目标应用的使用权限;对所述目标应用的运行数据进行监控;确定所述运行数据是否与所述使用权限匹配;在所述运行数据超出所述使用权限的情况下,控制所述目标应用停止运行。
在一个实施方式中,在根据所述授权码对所述目标应用进行授权控制的过程中,所述方法具体实施时,还可以包括:获取所述目标应用的运行数据;将所述运行数据上传至所述应用服务器。
在一个实施方式中,接收所述应用服务器基于所述授权请求返回的授权码,具体可以包括:接收所述应用服务器通过互联网返回的授权码。
在一个实施方式中,在根据所述授权码对所述目标应用进行授权控制之后,所述方法具体实施时还可以包括:接收更新后的权限请求;将更新后的权限请求转换为更新后的授权请求;将所述更新后的授权请求发送至所述应用服务器;接收所述应用服务器基于所述更新后的授权请求返回的更新后的授权码;根据所述更新后的授权码对所述目标应用进行授权控制。
在一个实施例中,本申请还提供了一种基于应用服务器一侧的授权管理方法,该方法具体可以包括以下步骤:
s1:接收来自授权管理器的对目标应用的授权请求,其中,所述授权管理器与所述目标应用所在的用户端设备是一一对应的关系;
s2:根据所述授权请求生成授权码;
s3:将所述授权码发送至所述授权管理器,以控制所述授权管理器根据所述授权码对所述目标应用进行授权控制。
本申请实施例还提供了一种授权管理器,包括处理器,其中,所述处理器用于获取对目标应用的权限请求,其中,所述授权管理器与所述目标应用所在的用户端设备是一一对应的关系;将所述权限请求转换为授权请求,并将所述授权请求发送至应用服务器;接收所述应用服务器基于所述授权请求返回的授权码;根据所述授权码对所述目标应用进行授权控制。
本申请实施例还提供了一种应用服务器,包括处理器,其中,所述处理器用于接收来自授权管理器的对目标应用的授权请求,其中,所述授权管理器与所述目标应用所在的用户端设备是一一对应的关系;根据所述授权请求生成授权码;将所述授权码发送至所述授权管理器,以控制所述授权管理器根据所述授权码对所述目标应用进行授权控制。
本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机指令,所述指令被执行时实现以下内容:通过授权管理器获取对目标应用的权限请求,其中,所述授权管理器与所述目标应用所在的用户端设备是一一对应的关系;将所述权限请求转换为授权请求,并将所述授权请求发送至应用服务器;接收所述应用服务器基于所述授权请求返回的授权码;根据所述授权码对所述目标应用进行授权控制。
在一个具体的场景示例中,可以参阅图4所示的内容,事先在用户设备端中分别部署一个授权管理器。授权管理器与用户设备端一一对应。授权管理器获取用户设备端的权限请求,并根据所述权限请求提取所请求的使用权限。同时,授权管理器通过物理唯一性校验获取标识信息。进而可以根据标识信息生成序列号。再基于序列号和使用权限生成对应的授权请求,并将授权请求发送至应用服务器。应用服务器可以根据授权请求提取序列号和使用权限,并对序列号进行校验,在校验成功后,根据使用权限生成对应的授权码,再将授权码发送至授权管理器。授权管理器在接收到授权码后对授权码进行解析,获取使用权限,并通过sdk接口激活目标应用,从而使得目标应用能够在使用权限限定范围内正常运行。在授权目标应用在用户端设备运行的同时,授权管理器建立与sdk接口的会话,并通过与sdk接口的会话定期采集目标应用的运行数据,并根据运行数据检查在线运行数量、有效期、运行时间等参数,以确定所述运行数据是否与使用权限匹配。在匹配的情况下,允许目标应用继续运行,并继续定时采集运行数据进行监控。在不匹配的情况下,确定目标应用在用户端设备的运行存在越权使用,终止与sdk接口的会话,并通过sdk接口关闭目标应用,即停止目标应用在用户端设备的运行,并将采集到的运行数据作为越权使用的证据上传至应用服务器。
虽然本申请提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或客户端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。
上述实施例阐明的装置或模块,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。为了描述的方便,描述以上装置时以功能分为各种模块分别描述。在实施本申请时可以把各模块的功能在同一个或多个软件和/或硬件中实现。当然,也可以将实现某功能的模块由多个子模块或子单元组合实现。
本申请中所述的方法、装置或模块可以以计算机可读程序代码方式实现控制器按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(applicationspecificintegratedcircuit,asic)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:arc625d、atmelat91sam、microchippic18f26k20以及siliconelabsc8051f320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内部包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
本申请所述装置中的部分模块可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构、类等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的硬件的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,也可以通过数据迁移的实施过程中体现出来。该计算机软件产品可以存储在存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,移动终端,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例采用递进的方式描述,各个实施例之间相同或相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。本申请的全部或者部分可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、移动通信终端、多处理器系统、基于微处理器的系统、可编程的电子设备、网络pc、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。
虽然通过实施例描绘了本申请,本领域普通技术人员知道,本申请有许多变形和变化而不脱离本申请的精神,希望所附的权利要求包括这些变形和变化而不脱离本申请的精神。