CN111447178B - 一种访问控制方法、系统及计算设备 - Google Patents
一种访问控制方法、系统及计算设备 Download PDFInfo
- Publication number
- CN111447178B CN111447178B CN202010140809.XA CN202010140809A CN111447178B CN 111447178 B CN111447178 B CN 111447178B CN 202010140809 A CN202010140809 A CN 202010140809A CN 111447178 B CN111447178 B CN 111447178B
- Authority
- CN
- China
- Prior art keywords
- application
- client
- access
- user
- access request
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0876—Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/108—Network architectures or network communication protocols for network security for controlling access to devices or network resources when the policy decisions are valid for a limited amount of time
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Power Engineering (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种访问控制方法,包括步骤:接收客户端对应用的访问请求;根据客户端的访问请求状态,确定是否为第一次访问请求;如果是第一次访问请求,则:确定应用的应用标识;基于应用标识从第三方服务器中获取相应的应用标识码并发送至客户端;接收客户端基于应用标识码从第三方服务器获取的许可标识,所述许可标识指示客户端要以对应的应用身份来访问应用;根据许可标识和应用标识从第三方服务器中获取用户标识以及相对应的用户信息;将用户标识返回至客户端,以便客户端基于用户标识来访问应用。本发明一并公开了相应的访问控制系统和计算设备。根据本发明的技术方案,当用户再次访问同一应用时,能避免系列授权步骤,从而提升用户体验。
Description
技术领域
本发明涉及网络通信技术领域,尤其涉及一种访问控制方法、访问控制系统及计算设备。
背景技术
目前,网络开发平台提供有一套针对网页在应用中传播并记录用户行为的API(Application Programming Interface,应用程序接口),这些API都有频次限制并有安全校验机制。
现有技术中,在开发过程中,如果H5页面需要获取应用用户的用户标识(Openid)和用户信息时,需要先调用应用接口获取code,然后带上code跳转应用进行授权(静默授权或主动授权),授权后再回跳至H5页面。进而,使用授权后的code获取Token,并使用Token获取应用的用户信息。在上述过程中,需要调用三个接口。
在上述技术方案中,调用应用接口获取的code只能使用一次,页面每次刷新都需要跳转至应用进行实时授权,影响用户体验。而且,如果用户访问量过高,会造成应用接口超频。如果短时间内授权过而再次跳转至应用获取时,应用会弹出弹框提示已经授权过,从而导致授权的整个流程不流畅。
还有一种方案,是对每个页面、每个系统进行独立开发。这种方案存在大量重复代码,在需求迭代快的情况下,容易造成资源浪费。
为此,需要一种访问控制方法,来解决上述技术方案中存在的问题。
发明内容
为此,本发明提供一种访问控制方法、系统及计算设备,以解决或至少缓解上面存在的问题。
根据本发明的一个方面,提供一种访问控制方法,所述方法在计算设备中执行以控制对客户端中驻留的应用的访问,所述计算设备分别与客户端、第三方服务器通信连接,所述第三方服务器中存储有用户标识以及相应的用户信息,所述客户端适于以所述用户标识和用户信息的身份来访问应用,所述方法包括步骤:接收客户端对应用的访问请求;根据客户端的访问请求状态,确定是否为所述客户端对应用的第一次访问请求;如果是第一次访问请求,则:确定所述应用的应用标识;基于所述应用标识从所述第三方服务器中获取相应的应用标识码,并将所述应用标识码发送至客户端;接收客户端基于所述应用标识码从所述第三方服务器获取的许可标识,所述许可标识指示所述客户端要以对应的应用身份来访问所述应用;根据所述许可标识和应用标识从所述第三方服务器中获取所述用户标识以及相对应的用户信息;以及将所述用户标识返回至客户端,以便客户端基于所述用户标识来访问应用。
可选地,在根据本发明的访问控制方法中,在获取用户标识之后,还包括步骤:将所述用户标识存储到所述计算设备的缓存中,并将用户标识对应的键值存储到在所述应用和客户端之间传输的内容块中,以便基于所述键值从所述缓存中获取所述用户标识。
可选地,在根据本发明的访问控制方法中,获取所述用户标识以及相对应的用户信息的步骤包括:根据所述许可标识和应用标识从所述第三方服务器中获取所述用户标识以及访问许可标识;以及根据所述用户标识以及访问许可标识从所述第三方服务器中获取所述用户信息。
可选地,在根据本发明的访问控制方法中,在将用户标识返回至客户端之前,还包括步骤:判断所述访问请求是否需要提供用户信息;如果需要提供用户信息,则将所述用户标识和用户信息返回至客户端,以便客户端基于所述用户标识和用户信息来访问应用。
可选地,在根据本发明的访问控制方法中,在获取所述用户信息之后,还包括步骤:将所述用户信息存储到所述计算设备的缓存中,并将用户信息对应的键值存储到在所述应用和客户端之间传输的内容块中,以便基于所述键值从所述缓存中获取所述用户信息。
可选地,在根据本发明的访问控制方法中,确定是否为客户端对应用的第一次访问请求的步骤包括:判断所述内容块中是否存储有所述键值,如果有,则确定不是第一次访问请求,如果没有,则确定是第一次访问请求。
可选地,在根据本发明的访问控制方法中,还包括步骤:如果不是第一次访问请求,则从所述内容块中获取所述键值;基于所述键值从所述计算设备的缓存中获取用户标识和/或用户信息,并将所述用户标识和/或用户信息返回至客户端。
可选地,在根据本发明的访问控制方法中,在接收客户端对应用的访问请求之后,还包括步骤:判断所述访问请求中是否包括注解信息;以及所述判断所述访问请求是否需要提供用户信息的步骤包括:根据所述注解信息确定所述访问请求的授权类型;根据所述授权类型判断所述访问请求是否需要提供用户信息。
可选地,在根据本发明的访问控制方法中,所述计算设备包括第一拦截器,所述第一拦截器适于接收客户端对应用的访问请求。
可选地,在根据本发明的访问控制方法中,所述计算设备包括第二拦截器,其中,将所述用户标识返回至客户端的步骤包括:从应用服务器获取应用页面,并将所述应用页面返回至客户端;通过所述第二拦截器从所述计算设备的缓存中获取用户标识,并将所述用户标识返回至客户端,以便所述客户端基于所述用户标识访问所述应用页面。
可选地,在根据本发明的访问控制方法中,在接收客户端的访问请求后,还包括步骤:确定接收所述访问请求的时间戳;根据所述时间戳判断所述访问请求是否是预定时间内对所述应用的同一个访问请求;如果是,则从应用服务器获取应用页面,并将所述应用页面返回至客户端。
可选地,在根据本发明的访问控制方法中,所述用户标识对应的键值为所述应用标识,所述用户信息对应的键值为所述用户标识。
可选地,在根据本发明的访问控制方法中,所述内容块中的键值包括所述应用标识和用户标识的组合。
可选地,在根据本发明的访问控制方法中,所述内容块中的键值包括所述应用标识、用户标识和页面标识的组合。
可选地,在根据本发明的访问控制方法中,所述应用为H5页面。
根据本发明的一个方面,提供一种访问控制系统,包括:第三方服务器,存储有用户标识以及相应的用户信息;客户端,适于以所述用户标识和用户信息的身份来访问应用,并适于发送对应用的访问请求;以及访问控制设备,分别与客户端、第三方服务器通信连接,适于执行如上所述的方法来控制对客户端中驻留的应用的访问。
根据本发明的一个方面,提供一种计算设备,包括:至少一个处理器;存储器,存储有程序指令,其中,程序指令被配置为适于由上述至少一个处理器执行,所述程序指令包括用于执行如上所述的访问控制方法的指令。
根据本发明的一个方面,提供一种存储有程序指令的可读存储介质,当该程序指令被计算设备读取并执行时,使得该计算设备执行如上所述的访问控制方法。
根据本发明的技术方案,客户端可以基于第三方应用对应的用户标识和用户信息的身份来访问应用。在客户端请求访问应用时,通过访问控制设备拦截并获取客户端对应用的访问请求,并作为客户端与第三方服务器之间的中间平台,来控制对驻留在客户端上的应用的访问。其中,当客户端是第一次请求访问应用时,访问控制设备会根据应用的应用标识向第三方服务器请求并获取相应的应用标识码,并将应用标识码发送至客户端。进而,基于客户端基于应用标识码从第三方服务器获取的许可标识和应用标识从第三方服务器获取用户标识以及相应的用户信息。而且,访问控制设备会将用户标识和用户信息存储在缓存中。这样,当客户端再次请求访问该应用时,访问控制设备可以直接从缓存中获取用户标识和用户信息并返回给客户端,以便客户端基于用户标识和用户信息来访问应用,避免了用户在访问应用时的系列授权步骤,提升了用户体验。
进一步而言,通过设置客户端与第三方服务器之间的访问控制设备,基于应用标识对客户端中驻留的应用的访问进行管理的控制,从而,能够实现同时控制多个应用的访问和授权过程,节省了在开发多个业务时的开发资源。
此外,根据本发明的技术方案,将用户标识与用户信息对应的键值存储在内容块中,基于键值从缓存中获取用户标识与用户信息,从而确保客户端对应用进行访问时的安全性。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
为了实现上述以及相关目的,本文结合下面的描述和附图来描述某些说明性方面,这些方面指示了可以实践本文所公开的原理的各种方式,并且所有方面及其等效方面旨在落入所要求保护的主题的范围内。通过结合附图阅读下面的详细描述,本公开的上述以及其它目的、特征和优势将变得更加明显。遍及本公开,相同的附图标记通常指代相同的部件或元素。
图1示出了根据本发明一个实施例的访问控制系统100的示意图;
图2示出了根据本发明一个实施例的计算设备200的示意图;
图3示出了根据本发明一个实施例的访问控制方法300的流程图;
图4示出了根据本发明一个实施例的客户端、访问控制设备(计算设备)以及第三方服务器的通信步骤示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
图1示出了根据本发明一个实施例的访问控制系统100的示意图。
如图1所示,访问控制系统100包括一个或多个客户端110、访问控制设备200、以及第三方服务器130。其中,一个或多个客户端110分别与访问控制设备200、第三方服务器130通信连接,例如通过有线或无线的方式网络连接。访问控制设备200与第三方服务器130通信连接。
客户端110即用户所使用的终端设备,其具体可以是桌面电脑、笔记本电脑等个人计算机,也可以是手机、平板电脑、多媒体设备、智能可穿戴设备等,但不限于此。
访问控制设备200用于向客户端110提供服务,其可以实现为现有技术中的任何一种能够实现为客户端110提供访问应用服务的设备,本发明对设备的具体种类不作限制。例如,访问控制设备200可以实现为桌面电脑、笔记本电脑、处理器芯片、手机、平板电脑等计算设备,但不限于此,也可以是驻留在计算设备上的应用程序。
在一个实施例中,客户端110例如是手机、平板电脑等移动终端,客户端110中安装有一个或多个移动应用,其中包括适于与第三方服务器130通信的第三方应用113。客户端110的所有者通常会注册成为第三方应用113的用户。第三方应用113可以利用移动终端提供的移动通信功能而耦接到第三方服务器130,并经由第三方服务器130而与其它移动终端上的第三方应用113进行通信。这里,本发明对第三方应用113的具体用途不做限制。第三方应用113可以是各种应用,例如,用于为用户提供消费或者生活服务的应用;用于让两个或者更多个用户进行相互沟通的应用;让一个用户去查看其他用户发布的信息的应用。
在一个实施例中,客户端110的所有者在注册成为第三方应用113的用户时,会向第三方服务器130提供与该用户相对应的用户标识以及相应的用户信息。用户标识例如是OpenID,用户标识例如包括用户在第三方应用中设置的头像、昵称等开放信息。用户信息例如包括用户的姓名、年龄、手机号码、邮箱等与用户相关的详细信息,但不限于上述列举的信息。从而,第三方服务器中存储有分别与一个或多个客户端的用户相对应的用户标识以及相应的用户信息。需要说明的是,用户标识和用户信息可用于标识客户端用户在访问第三方应用113时的身份。
在一个实施例中,客户端110安装的一个或多个移动应用中,还包括应用115。访问控制系统100还包括应用服务器150,应用服务器150中存储有应用115的一个或多个应用页面。
其中,应用115适于用客户端用户在访问第三方应用113时的身份来访问该应用。也就是说,客户端110可以用存储在第三方服务器130上的用户标识和用户信息的身份来访问应用115,即是基于用户标识和用户信息访问应用服务器150中的一个或多个应用页面。这里,应用115可以是一种或多种应用,本发明对应用115的具体用途也不做限制。每种应用115具有与该应用相对应的应用标识(AppID),应用标识可以唯一地标识该应用。
在本发明的实施例中,访问控制设备200适于执行访问控制方法。本发明的访问控制方法将在下文中详述。图4示出了根据本发明一个实施例的客户端、访问控制设备以及第三方服务器的通信步骤示意图。
在一个实施例中,访问控制设备200包括第一拦截器201和第二拦截器202。在客户端110发送对应用115的访问请求时,访问控制设备200通过第一拦截器201接收并获取客户端110对应用115的访问请求,以便访问控制设备200作为客户端110与第三方服务器130之间的中间平台,来控制客户端110基于用户标识和用户信息的身份来访问应用115。其中,访问请求要求访问应用服务器150中的一个或多个应用页面。
在一个实施例中,访问控制设备200会根据客户端110的访问请求状态,来确定是否为该客户端110对应用115的第一次访问请求。如果是第一次访问请求,则确定客户端110要求访问的应用115的应用标识(AppID)。进而,访问控制设备200基于应用的应用标识向第三方服务器130请求并获取相应的应用标识码,并将获取的应用标识码发送至客户端110。这里,应用标识码例如为code。
客户端110基于应用标识码向第三方服务器130发送获取许可标识的请求。第三方服务器130响应于客户端110的请求并向客户端110返回许可标识。该许可标识指示客户端110要以对应的应用身份来访问应用115,即是以第三方应用对应的用户身份来访问应用115。
在一个实施例中,在客户端获取许可标识后,将许可标识发送给访问控制设备200。访问控制设备200根据许可标识(OpenID)和应用标识(AppID)向第三方服务器130请求并获取用户标识(OpenID)以及访问许可标识(AccessToken),并根据用户标识和访问许可标识向第三方服务器130请求并获取获取与用户标识相对应的用户信息。进而,访问控制设备200将获取的用户标识、用户信息返回至客户端110。这样,客户端110便可以基于该用户标识、用户信息来访问应用115。
在一个实施例中,访问控制设备200与应用服务器150通信连接。具体而言,访问控制设备200可以根据客户端110的访问请求确定应用服务器150的IP地址,并根据IP地址从应用服务器150中获取与访问请求相对应的应用页面,以便将应用页面返回给客户端110。
在一个实施例中,访问控制设备200还包括缓存,例如Redis缓存,但不限于此。从而访问控制设备200可以将从第三方服务器130获取的用户标识和用户信息存储到缓存中,并可以通过第二拦截器202从缓存中获取用户标识和用户信息,以返回给客户端110。这样,在客户端110再次发送对上述应用115的访问请求时,访问控制设备200便可以直接从缓存中获取用户标识和用户信息,并返回给客户端110,从而减少用户访问应用时的授权步骤,提高用户体验。
在一个实施例中,本发明的访问控制设备200可以实现为一种计算设备,使得本发明的访问控制方法可以在计算设备中执行。图2示出了根据本发明一个实施例的计算设备200的结构图。如图2所示,在基本的配置202中,计算设备200典型地包括系统存储器206和一个或者多个处理器204。存储器总线208可以用于在处理器204和系统存储器206之间的通信。
取决于期望的配置,处理器204可以是任何类型的处理,包括但不限于:微处理器(μP)、微控制器(μC)、数字信息处理器(DSP)或者它们的任何组合。处理器204可以包括诸如一级高速缓存210和二级高速缓存212之类的一个或者多个级别的高速缓存、处理器核心214和寄存器216。示例的处理器核心214可以包括运算逻辑单元(ALU)、浮点数单元(FPU)、数字信号处理核心(DSP核心)或者它们的任何组合。示例的存储器控制器218可以与处理器204一起使用,或者在一些实现中,存储器控制器218可以是处理器204的一个内部部分。
取决于期望的配置,系统存储器206可以是任意类型的存储器,包括但不限于:易失性存储器(诸如RAM)、非易失性存储器(诸如ROM、闪存等)或者它们的任何组合。系统存储器106可以包括操作系统220、一个或者多个应用222以及程序数据224。应用222实际上是多条程序指令,其用于指示处理器204执行相应的操作。在一些实施方式中,应用222可以布置为在操作系统上使得处理器204利用程序数据224进行操作。
计算设备200还可以包括有助于从各种接口设备(例如,输出设备242、外设接口244和通信设备246)到基本配置202经由总线/接口控制器230的通信的接口总线240。示例的输出设备242包括图形处理单元248和音频处理单元250。它们可以被配置为有助于经由一个或者多个A/V端口252与诸如显示器或者扬声器之类的各种外部设备进行通信。示例外设接口244可以包括串行接口控制器254和并行接口控制器256,它们可以被配置为有助于经由一个或者多个I/O端口258和诸如输入设备(例如,键盘、鼠标、笔、语音输入设备、触摸输入设备)或者其他外设(例如打印机、扫描仪等)之类的外部设备进行通信。示例的通信设备246可以包括网络控制器260,其可以被布置为便于经由一个或者多个通信端口264与一个或者多个其他计算设备262通过网络通信链路的通信。
网络通信链路可以是通信介质的一个示例。通信介质通常可以体现为在诸如载波或者其他传输机制之类的调制数据信号中的计算机可读指令、数据结构、程序模块,并且可以包括任何信息递送介质。“调制数据信号”可以这样的信号,它的数据集中的一个或者多个或者它的改变可以在信号中编码信息的方式进行。作为非限制性的示例,通信介质可以包括诸如有线网络或者专线网络之类的有线介质,以及诸如声音、射频(RF)、微波、红外(IR)或者其它无线介质在内的各种无线介质。这里使用的术语计算机可读介质可以包括存储介质和通信介质二者。
在根据本发明的计算设备200中,应用222包括执行访问控制方法300的多条程序指令,这些程序指令可以指示处理器204执行本发明的访问控制方法300,以便计算设备200通过执行本发明的访问控制方法300来实现控制对客户端中驻留的应用的访问。
图3示出了根据本发明一个实施例的访问控制方法300的流程图。方法300适于在计算设备(例如前述计算设备200)中执行。计算设备分别与一个或多个客户端、第三方服务器通信连接。图4示出了根据本发明一个实施例的客户端、计算设备以及第三方服务器的通信步骤示意图。
应当指出,客户端安装有一个或多个移动应用,其中包括适于与第三方服务器通信的第三方应用113。客户端的所有者通常会注册成为第三方应用的用户,并在注册时向第三方服务器提供与该用户相对应的用户标识以及相应的用户信息。用户标识例如是OpenID,用户标识例如包括用户在第三方应用中设置的头像、昵称等开放信息。这里,本发明不限制用户标识所包括的具体内容。第三方服务器中存储有分别与一个或多个客户端的用户相对应的用户标识以及相应的用户信息。用户标识和用户信息可用于标识客户端用户在访问第三方应用时的身份。
另外,客户端安装的一个或多个移动应用中,还包括应用115。应用115适于用客户端用户在访问第三方应用113时的身份来访问该应用。也就是说,客户端可以用存储在第三方服务器上的用户标识和用户信息的身份来访问应用115。这里,应用115可以是一种或多种应用,本发明对应用115的具体用途也不做限制。每种应用115具有与该应用相对应的应用标识(AppID),应用标识可以唯一地标识该应用。
如图3所示,方法300始于步骤S310。
在步骤S310中,接收客户端对应用的访问请求。这里,应用例如是上述应用115,即,客户端可以用存储在第三方服务器上的用户标识和用户信息的身份来访问该应用。需要说明的是,客户端在请求访问应用115时,需要对客户端进行身份验证,即是需要客户端获取第三方服务器中的用户标识和用户信息,并以用户标识和用户信息的身份来访问应用115。在一种实施方式中,在客户端发送了对应用115的访问请求后,计算设备会通过第一拦截器201来拦截并获取客户端对应用115的访问请求,并作为客户端与第三方服务器之间的中间平台,来控制客户端基于用户标识和用户信息的身份来访问应用115。
这里,在接收客户端对应用的访问请求之后,还判断访问请求中是否包括注解信息,如果包括注解信息,则确定需要对该访问请求进行控制,并执行后续步骤。其中,注解信息包括该应用的授权类型(AuthType)。
随后,在步骤S320中,计算设备根据客户端的访问请求状态,确定是否为该客户端对应用的第一次访问请求。
如果是第一次访问请求,则执行步骤S330,确定客户端要求访问的应用的应用标识。随后,在步骤S340中,计算设备基于应用的应用标识从第三方服务器中获取相应的应用标识码,并将获取的应用标识码发送至客户端。这里,应用标识码例如为code。
需要说明的是,客户端需要基于应用标识码向第三方服务器发送获取许可标识的请求,进而,第三方服务器响应于客户端的请求并向客户端返回许可标识。该许可标识指示客户端要以对应的应用身份来访问应用115。也就是说,第三方服务器返回许可标识即表示其允许客户端以第三方应用对应的用户身份来访问应用115。
在客户端获取许可标识后,将许可标识发送给计算设备。
在步骤S350中,计算设备接收客户端基于应用标识码从第三方服务器获取的许可标识。
随后,在步骤S360中,计算设备根据许可标识和应用标识从第三方服务器中获取用户标识以及相对应的用户信息。应当理解,许可标识作为获取用户标识和用户信息的身份的权限,而应用标识则唯一地对应客户端所要求访问的应用,以便获取与该应用相对应的用户标识和用户信息来访问该应用115。用户标识例如是OpenID,用户标识例如包括用户在第三方应用中设置的头像、昵称等开放信息。这里,本发明不限制用户标识所包括的具体内容。用户信息例如包括用户的姓名、年龄、手机号码、邮箱等与用户相关的详细信息,但并不限于上述列举的信息。
最后,在步骤S370中,计算设备将从第三方服务器获取的用户标识返回至客户端,以便客户端基于该用户标识来访问应用115。
根据一个实施例,在将用户标识返回至客户端之前,先判断客户端的访问请求是否需要提供用户信息。这里,先确定访问请求中的注解信息,并根据注解信息来确定访问请求的授权类型,授权类型包括静默授权以及基于用户信息授权。进而,根据授权类型来判断该访问请求是否需要提供用户信息。如果是静默授权,则说明该访问请求不需要提供用户信息,可以基于用户标识来访问应用。
如果需要基于用户信息授权,则在步骤S370中,计算设备会将从第三方服务器获取的用户标识和用户信息一起返回至客户端,以便客户端基于用户标识和用户信息来访问应用115。
根据一个实施例,根据许可标识和应用标识从第三方服务器中获取用户标识(OpenID)以及相对应的用户信息进一步按照以下方法执行:
根据许可标识(OpenID)和应用标识(AppID)从第三方服务器中获取用户标识(OpenID)以及访问许可标识(AccessToken)。这里,访问许可标识可作为获取与用户标识对应的用户信息来访问应用的权限。进而,计算设备便可以根据用户标识以及访问许可标识从第三方服务器中获取与用户标识相对应的用户信息。
根据一个实施例,在从第三方服务器获取用户标识和用户信息之后,还将获取的用户标识、用户信息存储到计算设备的缓存中,并将用户标识对应的键值、以及用户信息对应的键值存储到在应用和客户端之间传输的内容块(Cookie)中,这样,便可以基于相应的键值从缓存中获取用户标识和用户信息,从而确保用户访问应用时的安全性。
根据一个实施例,在判断访问请求是否为客户端对应用的第一次访问请求时,可以根据内容块中是否存储有键值来确定。具体地,判断内容块中是否存储有用户标识和/或用户信息对应的键值。如果内容块中存储有键值,则确定该访问请求不是第一次访问请求。如果内容块中没有存储键值,则确定该访问请求是第一次访问请求。
根据一个实施例,在确定客户端的访问请求不是第一次访问请求时,可以直接从内容块中获取用户标识和/或用户信息对应的键值,基于相应的键值从计算设备的缓存中获取用户标识和/或用户信息,并将用户标识和/或用户信息返回至客户端。这样,便不需要经过获取应用标识码、许可标识、访问许可标识,以及基于应用标识、许可标识、访问许可标识来从第三方服务器获取用户标识和用户信息的一系列请求授权的步骤。从而,基于本发明的技术方案,在用户访问过应用后,再次访问该应用时,便可以从缓存中读取用户标识和用户信息来直接访问应用,而不再需要繁琐的授权过程,从而减少用户在访问应用时的系列授权步骤和等待时间。
根据一个实施例,用户标识对应的键值为应用标识,用户信息对应的键值为用户标识。也就是说,在第一次访问请求中从第三方服务器获取的许可标识和访问许可标识仅需要在第一次访问时获取并使用、并不作为键值存储在内容块中。并且,在客户端的访问请求不是第一次访问请求时,只需要基于内容块中的应用标识便可以从缓存中获取用户标识,不再需要许可标识;基于内容块中的用户标识便可以从缓存中获取用户信息,不再需要访问许可标识。
另外,还需要说明的是,应用通常包括一个或多个应用页面,每个应用页面具有相对应的应用页面标识。客户端用户在访问应用时,可以通过点击、滑动等操作来触发应用页面进行切换展示。
在一种实施方式中,内容块中的键值包括应用标识和用户标识的组合。在该实施方式中,应用所包括的所有应用页面与应用共享同一个键值,并未对应用页面单独设置访问权限。这样,在基于内容块的键值从缓存中获取用户标识以及相应的用户信息后,客户端可以基于用户标识和用户信息访问应用以及应用包括的所有应用页面。
在另一种实施方式中,内容块中的键值包括应用标识、用户标识和应用页面标识的组合。在该实施方式中,应用所包括的所有应用页面分别具有相应的键值,这样,也就是对每个应用页面分别设置了访问权限。
根据一个实施例,客户端请求访问的应用115例如为H5,应用服务器例如为网页服务器。客户端基于H5页面对应的URL来发送访问请求,访问请求要求访问与URL中的域名对应的网页服务器中的页面。计算设备在获取访问请求后,基于访问请求的URL确定网页服务器的域名及对应的IP地址,以便基于IP地址来访问网页服务器,并可以从网页服务器中获取相应的H5页面。也就是说,在客户端110发送访问请求后,是通过计算设备从网页服务器中获取相应的H5页面,并在授权后将H5页面发送至客户端110,以便在第三方应用中呈现H5页面内容。这里,第三方应用例如是微信等混合应用,可以从网页服务器获取H5页面并显示该H5页面内容。但,应当指出,本发明不限制第三方应用的具体种类,只要能实现从网页服务器获取H5页面并显示H5页面内容的第三方应用的种类均在本发明的保护范围之内。
根据一个实施例,在计算设备从第三方服务器获取用户标识和用户信息后,基于访问请求从应用服务器获取应用页面(例如H5页面),并将应用页面返回至客户端,进而,通过第二拦截器从缓存中获取用户标识和/或用户信息,并将用户标识和/或用户信息返回至客户端,以便客户端基于用户标识和/或用户信息来访问该应用页面。
根据一个实施例,在接收客户端的访问请求之后,确定接收访问请求的时间戳。根据访问请求的时间戳来判断访问请求是否是预定时间内对该客户端对该应用的同一个访问请求。如果是预定时间内的同一个访问请求,则直接基于访问请求的URL从应用服务器获取应用页面,并将应用页面返回至客户端。这里,预定时间可以根据客户端重复操作的时间间隔来设置,这样,避免因客户端在短时间内的重复操作而重新发起同一个访问请求。
A8、如A4所述的访问控制方法,其中,在接收客户端对应用的访问请求之后,还包括步骤:判断所述访问请求中是否包括注解信息;以及所述判断所述访问请求是否需要提供用户信息的步骤包括:根据所述注解信息确定所述访问请求的授权类型;根据所述授权类型判断所述访问请求是否需要提供用户信息。
A9、如A1-A8任一项所述的访问控制方法,所述计算设备包括第一拦截器,其中,所述第一拦截器适于接收客户端对应用的访问请求。
A10、如A1-A9任一项所述的访问控制方法,所述计算设备包括第二拦截器,其中,将所述用户标识返回至客户端的步骤包括:从应用服务器获取应用页面,并将所述应用页面返回至客户端;通过所述第二拦截器从所述计算设备的缓存中获取用户标识,并将所述用户标识返回至客户端,以便所述客户端基于所述用户标识访问所述应用页面。
A11、如A1-A10任一项所述的访问控制方法,其中,在接收客户端的访问请求后,还包括步骤:确定接收所述访问请求的时间戳;根据所述时间戳判断所述访问请求是否是预定时间内对所述应用的同一个访问请求;如果是,则从应用服务器获取应用页面,并将所述应用页面返回至客户端。
A12、如A5所述的访问控制方法,其中,所述用户标识对应的键值为所述应用标识,所述用户信息对应的键值为所述用户标识。
A13、如A12所述的访问控制方法,其中,所述内容块中的键值包括所述应用标识和用户标识的组合。
A14、如A12所述的访问控制方法,其中,所述内容块中的键值包括所述应用标识、用户标识和页面标识的组合。
A15、如A1-A14任一项所述的访问控制方法,其中,所述应用为H5页面。
这里描述的各种技术可结合硬件或软件,或者它们的组合一起实现。从而,本发明的方法和设备,或者本发明的方法和设备的某些方面或部分可采取嵌入有形媒介,例如可移动硬盘、U盘、软盘、CD-ROM或者其它任意机器可读的存储介质中的程序代码(即指令)的形式,其中当程序被载入诸如计算机之类的机器,并被所述机器执行时,所述机器变成实践本发明的设备。
在程序代码在可编程计算机上执行的情况下,移动终端一般包括处理器、处理器可读的存储介质(包括易失性和非易失性存储器和/或存储元件),至少一个输入装置,和至少一个输出装置。其中,存储器被配置用于存储程序代码;处理器被配置用于根据该存储器中存储的所述程序代码中的指令,执行本发明的访问控制方法。
以示例而非限制的方式,可读介质包括可读存储介质和通信介质。可读存储介质存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息。通信介质一般以诸如载波或其它传输机制等已调制数据信号来体现计算机可读指令、数据结构、程序模块或其它数据,并且包括任何信息传递介质。以上的任一种的组合也包括在可读介质的范围之内。
在此处所提供的说明书中,算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与本发明的示例一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下被实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员应当理解在本文所公开的示例中的设备的模块或单元或组件可以布置在如该实施例中所描述的设备中,或者可替换地可以定位在与该示例中的设备不同的一个或多个设备中。前述示例中的模块可以组合为一个模块或者此外可以分成多个子模块。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
此外,所述实施例中的一些在此被描述成可以由计算机系统的处理器或者由执行所述功能的其它装置实施的方法或方法元素的组合。因此,具有用于实施所述方法或方法元素的必要指令的处理器形成用于实施该方法或方法元素的装置。此外,装置实施例的在此所述的元素是如下装置的例子:该装置用于实施由为了实施该发明的目的的元素所执行的功能。
如在此所使用的那样,除非另行规定,使用序数词“第一”、“第二”、“第三”等等来描述普通对象仅仅表示涉及类似对象的不同实例,并且并不意图暗示这样被描述的对象必须具有时间上、空间上、排序方面或者以任意其它方式的给定顺序。
尽管根据有限数量的实施例描述了本发明,但是受益于上面的描述,本技术领域内的技术人员明白,在由此描述的本发明的范围内,可以设想其它实施例。此外,应当注意,本说明书中使用的语言主要是为了可读性和教导的目的而选择的,而不是为了解释或者限定本发明的主题而选择的。因此,在不偏离所附权利要求书的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。对于本发明的范围,对本发明所做的公开是说明性的而非限制性的,本发明的范围由所附权利要求书限定。
Claims (16)
1.一种访问控制方法,所述方法在计算设备中执行以控制对客户端中驻留的应用的访问,所述计算设备分别与客户端、第三方服务器通信连接,所述第三方服务器中存储有用户标识以及相应的用户信息,所述客户端适于以所述用户标识和用户信息的身份来访问应用,所述方法包括步骤:
接收客户端对应用的访问请求;
根据客户端的访问请求状态,确定是否为所述客户端对应用的第一次访问请求;
如果是第一次访问请求,则:
确定所述应用的应用标识;
基于所述应用标识从所述第三方服务器中获取相应的应用标识码,并将所述应用标识码发送至客户端;
接收客户端基于所述应用标识码从所述第三方服务器获取的许可标识,所述许可标识指示所述客户端要以对应的应用身份来访问所述应用;
根据所述许可标识和应用标识从所述第三方服务器中获取所述用户标识以及相对应的用户信息;
将所述用户标识返回至客户端,以便客户端基于所述用户标识来访问应用;
将所述用户标识存储到所述计算设备的缓存中,并将用户标识对应的键值存储到在所述应用和客户端之间传输的内容块中,以便基于所述键值从所述缓存中获取所述用户标识;以及
如果不是第一次访问请求,则从所述内容块中获取所述键值,基于所述键值从所述计算设备的缓存中获取用户标识和/或用户信息,并将所述用户标识和/或用户信息返回至客户端。
2.如权利要求1所述的访问控制方法,其中,获取所述用户标识以及相对应的用户信息的步骤包括:
根据所述许可标识和应用标识从所述第三方服务器中获取所述用户标识以及访问许可标识;以及
根据所述用户标识以及访问许可标识从所述第三方服务器中获取所述用户信息。
3.如权利要求1所述的访问控制方法,其中,在将用户标识返回至客户端之前,还包括步骤:
判断所述访问请求是否需要提供用户信息;
如果需要提供用户信息,则将所述用户标识和用户信息返回至客户端,以便客户端基于所述用户标识和用户信息来访问应用。
4.如权利要求1-3任一项所述的访问控制方法,其中,在获取所述用户信息之后,还包括步骤:
将所述用户信息存储到所述计算设备的缓存中,并将用户信息对应的键值存储到在所述应用和客户端之间传输的内容块中,以便基于所述键值从所述缓存中获取所述用户信息。
5.如权利要求1-3任一项所述的访问控制方法,其中,确定是否为客户端对应用的第一次访问请求的步骤包括:
判断所述内容块中是否存储有所述键值,
如果有,则确定不是第一次访问请求,
如果没有,则确定是第一次访问请求。
6.如权利要求3所述的访问控制方法,其中,在接收客户端对应用的访问请求之后,还包括步骤:
判断所述访问请求中是否包括注解信息;以及
所述判断所述访问请求是否需要提供用户信息的步骤包括:
根据所述注解信息确定所述访问请求的授权类型;
根据所述授权类型判断所述访问请求是否需要提供用户信息。
7.如权利要求1-3任一项所述的访问控制方法,所述计算设备包括第一拦截器,其中:
所述第一拦截器适于接收客户端对应用的访问请求。
8.如权利要求1-3任一项所述的访问控制方法,所述计算设备包括第二拦截器,其中,将所述用户标识返回至客户端的步骤包括:
从应用服务器获取应用页面,并将所述应用页面返回至客户端;
通过所述第二拦截器从所述计算设备的缓存中获取用户标识,并将所述用户标识返回至客户端,以便所述客户端基于所述用户标识访问所述应用页面。
9.如权利要求1-3任一项所述的访问控制方法,其中,在接收客户端的访问请求后,还包括步骤:
确定接收所述访问请求的时间戳;
根据所述时间戳判断所述访问请求是否是预定时间内对所述应用的同一个访问请求;
如果是,则从应用服务器获取应用页面,并将所述应用页面返回至客户端。
10.如权利要求4所述的访问控制方法,其中:
所述用户标识对应的键值为所述应用标识,
所述用户信息对应的键值为所述用户标识。
11.如权利要求10所述的访问控制方法,其中:
所述内容块中的键值包括所述应用标识和用户标识的组合。
12.如权利要求10所述的访问控制方法,其中:
所述内容块中的键值包括所述应用标识、用户标识和页面标识的组合。
13.如权利要求1-3任一项所述的访问控制方法,其中,所述应用为H5页面。
14.一种访问控制系统,包括:
第三方服务器,存储有用户标识以及相应的用户信息;
客户端,适于以所述用户标识和用户信息的身份来访问应用,并适于发送对应用的访问请求;以及
访问控制设备,分别与客户端、第三方服务器通信连接,适于执行如权利要求1-13任一项所述的方法来控制对客户端中驻留的应用的访问。
15.一种计算设备,包括:
至少一个处理器;以及
存储器,存储有程序指令,其中,所述程序指令被配置为适于由所述至少一个处理器执行,所述程序指令包括用于执行如权利要求1-13中任一项所述访问控制方法的指令。
16.一种存储有程序指令的可读存储介质,当所述程序指令被计算设备读取并执行时,使得所述计算设备执行如权利要求1-13中任一项所述访问控制方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010140809.XA CN111447178B (zh) | 2020-03-03 | 2020-03-03 | 一种访问控制方法、系统及计算设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010140809.XA CN111447178B (zh) | 2020-03-03 | 2020-03-03 | 一种访问控制方法、系统及计算设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111447178A CN111447178A (zh) | 2020-07-24 |
CN111447178B true CN111447178B (zh) | 2021-12-21 |
Family
ID=71653024
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010140809.XA Active CN111447178B (zh) | 2020-03-03 | 2020-03-03 | 一种访问控制方法、系统及计算设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111447178B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112615965B (zh) * | 2020-12-01 | 2023-04-11 | 北京皮尔布莱尼软件有限公司 | 通信号码的验证方法、系统及计算设备 |
CN112866419B (zh) * | 2021-03-11 | 2023-05-02 | 统信软件技术有限公司 | 一种激活控制方法、系统及计算设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102843357A (zh) * | 2012-07-30 | 2012-12-26 | 北京网蜜在线网络有限公司 | 访问网络的方法、应用服务器及系统 |
CN103795692A (zh) * | 2012-10-31 | 2014-05-14 | 中国电信股份有限公司 | 开放授权方法、系统与认证授权服务器 |
CN106559487A (zh) * | 2016-11-11 | 2017-04-05 | 美通云动(北京)科技有限公司 | 一种访问应用的方法及装置 |
CN109688133A (zh) * | 2018-12-26 | 2019-04-26 | 江苏恒宝智能系统技术有限公司 | 一种基于免账号登录的通信方法 |
CN109962892A (zh) * | 2017-12-25 | 2019-07-02 | 航天信息股份有限公司 | 一种登录应用的认证方法及客户端、服务器 |
US10375563B1 (en) * | 2018-04-05 | 2019-08-06 | T-Mobile Usa, Inc. | Systems and methods for web-based communications consolidation |
-
2020
- 2020-03-03 CN CN202010140809.XA patent/CN111447178B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102843357A (zh) * | 2012-07-30 | 2012-12-26 | 北京网蜜在线网络有限公司 | 访问网络的方法、应用服务器及系统 |
CN103795692A (zh) * | 2012-10-31 | 2014-05-14 | 中国电信股份有限公司 | 开放授权方法、系统与认证授权服务器 |
CN106559487A (zh) * | 2016-11-11 | 2017-04-05 | 美通云动(北京)科技有限公司 | 一种访问应用的方法及装置 |
CN109962892A (zh) * | 2017-12-25 | 2019-07-02 | 航天信息股份有限公司 | 一种登录应用的认证方法及客户端、服务器 |
US10375563B1 (en) * | 2018-04-05 | 2019-08-06 | T-Mobile Usa, Inc. | Systems and methods for web-based communications consolidation |
CN109688133A (zh) * | 2018-12-26 | 2019-04-26 | 江苏恒宝智能系统技术有限公司 | 一种基于免账号登录的通信方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111447178A (zh) | 2020-07-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101573669B1 (ko) | 문서들의 디지털 사용 권한들을 관리하기 위한 방법 및 디바이스 | |
US10740411B2 (en) | Determining repeat website users via browser uniqueness tracking | |
CN108376079B (zh) | 自动应用更新 | |
CN110784450A (zh) | 一种基于浏览器的单点登录方法和装置 | |
CN112995131A (zh) | 一种页面登录方法、系统及计算设备 | |
WO2022062918A1 (zh) | 策略执行的控制方法、策略执行系统及计算设备 | |
CN111447178B (zh) | 一种访问控制方法、系统及计算设备 | |
US20150180859A1 (en) | Login requesting device and method for requesting login to server and storage medium storing a program used therefor | |
CN111177664A (zh) | 水印信息添加方法、服务器及系统 | |
CN110795343A (zh) | 测试系统、测试方法和计算设备 | |
CN114189553B (zh) | 一种流量回放方法、系统及计算设备 | |
CN111835523B (zh) | 一种数据请求方法、系统及计算设备 | |
CN114168937A (zh) | 一种资源访问方法、计算设备及可读存储介质 | |
US20150295918A1 (en) | User authentication system in web mash-up circumstance and authenticating method thereof | |
CN112818270A (zh) | 数据跨域传递方法、装置及计算机设备 | |
CN107832590A (zh) | 终端控制方法及装置、终端及计算机可读存储介质 | |
CN110049106B (zh) | 业务请求处理系统及方法 | |
CN113254917B (zh) | 一种录音权限管理方法、计算设备及存储介质 | |
CN111935716B (zh) | 一种认证方法、认证系统及计算设备 | |
CN114510706A (zh) | 基于物理接口的权限控制方法、装置及计算设备 | |
JP7445017B2 (ja) | ユーザ識別子および署名収集を利用したモバイルアプリケーション偽造・変造探知方法、コンピュータプログラム、コンピュータ読み取り可能な記録媒体およびコンピュータ装置 | |
US9609080B2 (en) | Systems and methods for device identity delegation for application software | |
CN112671843A (zh) | 数据请求方法、系统及计算设备 | |
CN113254888A (zh) | 获取硬件信息的方法、授权控制系统及计算设备 | |
CN110765426A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |