发明内容
本发明提实施例供一种访问权限控制方法、装置及系统,以提高应用程序运行的可靠性和用户权限设置的灵活性。
本发明实施例提供一种访问权限控制方法,包括:获取应用程序调用应用编程接口时通过所述应用编程接口传入的第一用户信息和第一访问对象信息,其中,所述第一用户信息用以指示第一用户,所述第一访问对象信息用以指示所述第一用户访问的系统资源;当所述第一用户信息对应的第一用户不具有对所述第一访问对象信息所指示的系统资源的访问权限时,根据所述第一访问对象信息访问虚拟资源,生成第一访问结果,并将所述第一访问结果通过所述应用编程接口返回给所述应用程序。
本发明实施例提供一种访问权限控制装置,包括:获取单元,用于获取应用程序调用应用编程接口时通过所述应用编程接口传入的第一用户信息和第一访问对象信息,其中,所述第一用户信息用以指示第一用户,所述第一访问对象信息用以指示所述第一用户访问的系统资源;第一处理单元,用于当所述第一用户信息对应的第一用户不具有对所述第一访问对象信息所指示的系统资源的访问权限时,根据所述第一访问对象信息访问虚拟资源,生成第一访问结果,并将所述第一访问结果通过所述应用编程接口返回给所述应用程序。
本发明实施例提供一种应用系统,所述应用系统中设置有应用程序和系统资源,所述应用系统中还设置有虚拟资源,所述虚拟资源用以模拟所述系统资源;所述虚拟资源与所述系统资源的形式相同,且所述虚拟资源的内容与所述系统资源的内容不同;所述应用系统包括访问权限控制装置;所述访问权限控制装置用于获取所述应用程序调用应用编程接口时通过所述应用编程接口传入的第一用户信息和第一访问对象信息,其中,所述第一用户信息用以指示第一用户,所述第一访问对象信息用以指示所述第一用户访问的系统资源;当所述第一用户信息对应的第一用户不具有对所述第一访问对象信息所指示的系统资源的访问权限时,根据所述第一访问对象信息访问虚拟资源,生成第一访问结果,并将所述第一访问结果通过所述应用编程接口返回给所述应用程序。
由上述技术方案可知,本发明实施例提供的访问权限控制方法、装置及系统,访问权限控制装置获取应用程序调用应用编程接口时通过应用编程接口传入的第一用户信息和第一访问对象信息,当第一用户信息对应的第一用户不具有对第一访问对象信息所指示的系统资源的访问权限时,根据第一访问对象信息访问虚拟资源,生成第一访问结果,并将第一访问结果通过应用编程接口返回给应用程序。通过虚拟资源的设置,在用户不具有对系统资源的访问权限时,可以通过访问虚拟资源来保证应用程序的正常运行,避免异常退出,大大提高了应用程序运行的可靠性,可以在应用过程中修改用户权限,提高了用户权限设置的灵活性。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明实施例提供的一种访问权限控制方法流程图。如图1所示,本实施例提供的访问权限控制方法具体可以应用于应用系统中对用户访问权限的控制过程。该应用系统具体可以为个人计算机、笔记本、智能手机、平板电脑、服务器等设置有操作系统的设备,该操作系统可以为Linux操作系统或Windows操作系统等,特别可以适用于移动终端操作系统。本实施例提供的访问权限控制方法可以通过访问权限控制装置来执行,该访问权限控制装置可以集成设置在应用系统的处理器中。
本实施例提供的访问权限控制方法具体包括:
步骤10、获取应用程序调用应用编程接口时通过所述应用编程接口传入的第一用户信息和第一访问对象信息,其中,所述第一用户信息用以指示第一用户,所述第一访问对象信息用以指示所述第一用户访问的系统资源;
步骤20、当所述第一用户信息对应的第一用户不具有对所述第一访问对象信息所指示的系统资源的访问权限时,根据所述第一访问对象信息访问虚拟资源,生成第一访问结果,并将所述第一访问结果通过所述应用编程接口返回给所述应用程序。
具体地,应用系统中设置有应用程序,应用程序的运行是以操作系统为基础的,操作系统的系统架构下的系统资源具体可以包括用户数据、系统程序和设备资源等。应用程序在运行过程中需要访问系统资源时,通过操作系统提供的应用编程接口(ApplicationProgrammingInterface,简称API)访问系统资源。
应用系统可以根据用户需要设置多个用户身份,设置不同用户身份的权限。例如,有的用户身份具有系统资源的访问权限,有的用户身份不具有系统资源的访问权限。第一用户信息具体用以指示第一用户,第一访问对象信息具体用以指示第一用户所访问的系统资源。
用户以某个用户身份如第一用户使用应用程序时,应用程序在运行过程中,若需要访问系统资源,则调用API,并将第一用户信息和第一访问对象信息作为参数传入,访问权限控制装置获取到该第一用户信息和第一访问对象信息,并根据第一用户信息判断该第一用户信息对应的第一用户是否具有对该第一访问对象信息所指示的系统资源的访问权限,若该第一用户不具有对该第一访问对象信息指示的系统资源的访问权限,则访问虚拟资源,生成第一访问结果。具体地,该虚拟资源为虚拟化的资源,并非为真实的系统资源,该虚拟资源具体可以为一个数据库,数据库中存储有符合真实的访问结果格式的虚拟数据,所述虚拟数据可以是由虚拟资源数据库中自动生成,也可以由用户设置。访问虚拟资源的过程可以为随机获取相应格式的虚拟数据的过程,将该虚拟数据作为第一访问结果通过API返回给应用程序,应用程序根据该第一访问结果进行后续的处理。还可以在应用系统中设置虚拟架构,该虚拟架构与系统架构的形式相同,虚拟架构与系统架构的程序开发语言也相同,虚拟资源以虚拟架构为基础。
例如,用户以一个用户身份使用应用程序,应用程序需要访问的系统资源为电话号码信息,当访问权限控制装置判断该用户身份并不具有对电话号码本的访问权限时,访问虚拟资源,该虚拟资源中包括与电话号码信息格式相同的多个虚拟数据,随机选择一个虚拟数据作为第一访问结果返回给应用程序,应用程序根据该第一访问结果进行后续的处理。该第一访问结果虽然并不是用户所要系统资源的真实的电话号码信息,但应用程序可以对该第一访问结果进行后续处理,应用程序可以正常运行,避免异常退出。
再例如,用户以一个用户身份使用应用程序时,应用程序需要访问应用系统中设置的GPS(GlobalPositioningSystem,全球定位系统)单元,以获取定位信息。当访问权限控制装置判断该用户身份并不具有对GPS单元的访问权限时,访问虚拟资源获取一组虚拟定位数据,该虚拟资源并不真正的GPS单元,而是与定位信息格式相同的多个虚拟数据,随机选择一个虚拟数据作为第一访问结果返回给应用程序,应用程序根据该第一访问结果进行后续的处理。例如真实的定位信息是(60,80),而虚拟定位数据为(20,49)。
本实施例提供的访问权限控制方法,访问权限控制装置获取应用程序调用应用编程接口时通过应用编程接口传入的第一用户信息和第一访问对象信息,当第一用户信息对应的第一用户不具有对第一访问对象信息所指示的系统资源的访问权限时,根据第一访问对象信息访问虚拟资源,生成第一访问结果,并将第一访问结果通过应用编程接口返回给应用程序。通过虚拟资源的设置,在用户不具有对系统资源的访问权限时,可以通过访问虚拟资源来保证应用程序的正常运行,避免异常退出,大大提高了应用程序运行的可靠性,可以在应用过程中修改用户权限,提高了用户权限设置的灵活性。
图2为本发明实施例提供的另一种访问权限控制方法流程图。如图2所示,在本实施例中,所述访问权限控制方法还可以包括:
步骤30、当所述第一用户信息对应的第一用户具有对所述第一访问对象信息所指示的系统资源的访问权限时,访问所述第一访问对象信息所指示的系统资源,生成第二访问结果,并将所述第二访问结果通过所述应用编程接口返回给所述应用程序。
若第一用户信息所指示的第一用户具有对该第一访问对象信息指示的系统资源的访问权限,则按照正常的处理流程进行处理,即访问第一访问对象信息对应的系统资源,生成第二访问结果,将该第二访问结果通过API返回给应用程序,应用程序根据第二访问结果进行后续处理。
在本实施例中,在获取应用程序调用应用编程接口时通过所述应用编程接口传入的第一用户信息和第一访问对象信息之前,该访问权限控制方法还可以包括:
步骤40、接收携带有第一用户信息和第一访问对象信息的权限设置信息,其中,所述第一用户信息用以指示第一用户,所述第一访问对象信息用以指示所述第一用户访问的系统资源;
步骤50、根据所述接收到的权限设置信息设置所述第一用户信息对应的第一用户对所述第一访问对象信息所指示的系统资源的访问权限。
具体地,为了保证应用程序的正常安装,在安装时,默认设置所有用户身份都具有系统资源的访问权限,则步骤40和步骤50所描述的访问权限的设置过程可以认为是初始的设定过程。在应用程序安装后,用户也可以根据需要更改不同用户身份的权限,则步骤40和步骤50所描述的访问权限的设置过程也可以实现该权限修改过程。实现了应用程序初始的用户权限设置和在应用程序使用过程中用户权限的更改,进一步提高了用户权限设置的灵活性。
在本实施例中,所述系统资源以系统架构为基础,所述虚拟资源与虚拟架构为基础;所述虚拟资源用以模拟所述系统资源,所述虚拟资源与所述系统资源的形式相同,且所述虚拟资源的内容与所述系统资源的内容不同。
图3为本发明实施例提供的一种访问权限控制装置结构示意图。如图5所示,本实施例提供的访问权限控制装置具体可以实现本发明任意实施例提供的访问权限控制方法的各个步骤,其详细实现过程在此不再赘述,本发明装置实施例未揭示的技术细节请参照本发明方法实施例。
本实施例提供的访问权限控制装置具体包括获取单元11和第一处理单元12。获取单元11用于获取应用程序调用应用编程接口时通过所述应用编程接口传入的第一用户信息和第一访问对象信息,其中,所述第一用户信息用以指示第一用户,所述第一访问对象信息用以指示所述第一用户访问的系统资源。第一处理单元12用于当所述第一用户信息对应的第一用户不具有对所述第一访问对象信息所指示的系统资源的访问权限时,根据所述第一访问对象信息访问虚拟资源,生成第一访问结果,并将所述第一访问结果通过所述应用编程接口返回给所述应用程序。
本实施例提供的访问权限控制装置,获取单元11获取应用程序调用应用编程接口时通过应用编程接口传入的第一用户信息和第一访问对象信息,第一处理单元12当第一用户信息对应的第一用户不具有对第一访问对象信息所指示的系统资源的访问权限时,根据第一访问对象信息访问虚拟资源,生成第一访问结果,并将第一访问结果通过应用编程接口返回给应用程序。通过虚拟资源的设置,在用户不具有对系统资源的访问权限时,可以通过访问虚拟资源来保证应用程序的正常运行,避免异常退出,大大提高了应用程序运行的可靠性,可以在应用过程中修改用户权限,提高了用户权限设置的灵活性。
图4为本发明实施例提供的另一种访问权限控制装置结构示意图。如图4所示,在本实施例中,若具有访问权限,则所述访问权限控制装置还包括第二处理单元13,第二处理单元13用于当所述第一用户信息对应的第一用户具有对所述第一访问对象信息所指示的系统资源的访问权限时,访问所述第一访问对象信息所指示的系统资源,生成第二访问结果,并将所述第二访问结果通过所述应用编程接口返回给所述应用程序。
在本实施例中,该访问权限控制装置还可以包括接收单元14和设置单元15,接收单元14用于接收携带有第一用户信息和第一访问对象信息的权限设置信息,其中,所述第一用户信息用以指示第一用户,所述第一访问对象信息用以指示所述第一用户访问的系统资源。设置单元15用于根据所述接收到的权限设置信息设置所述第一用户信息对应的第一用户对所述第一访问对象信息所指示的系统资源的访问权限。
在本实施例中,所述系统资源以系统架构为基础,所述虚拟资源与虚拟架构为基础;所述虚拟资源用以模拟所述系统资源,所述虚拟资源与所述系统资源的形式相同,且所述虚拟资源的内容与所述系统资源的内容不同。
图5为本发明实施例提供的应用系统结构示意图。如图5所示,在本实施例中,所述应用系统中设置有应用程序81和系统资源82,所述应用系统中还设置有虚拟资源83,所述虚拟资源83用以模拟所述系统资源82;所述虚拟资源83与所述系统资源82的形式相同,且所述虚拟资源83的内容与所述系统资源82的内容不同;
所述应用系统包括访问权限控制装置84,所述访问权限控制装置84用于获取所述应用程序81调用应用编程接口时通过所述应用编程接口传入的第一用户信息和第一访问对象信息,其中,所述第一用户信息用以指示第一用户,所述第一访问对象信息用以指示所述第一用户访问的系统资源82;当所述第一用户信息对应的第一用户不具有对所述第一访问对象信息所指示的系统资源82的访问权限时,根据所述第一访问对象信息访问虚拟资源83,生成第一访问结果,并将所述第一访问结果通过所述应用编程接口返回给所述应用程序81。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。