访问控制方法和装置转让专利

申请号 : CN201610216515.4

文献号 : CN105915591B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 陈锐龙吴海松陈车前谢晋黄光西吴铭津

申请人 : 腾讯科技(深圳)有限公司

摘要 :

本申请提供了一种访问控制方法和装置,在该方法中,SSO服务器确定当前需要进行访问控制目标业务服务,并确定当前禁止请求该目标业务服务的目标客户端;通过向目标客户端发送消息,以使得目标客户端拦截针对该目标业务服务的访问请求。该方法和装置可以提高SSO系统的可靠性。

权利要求 :

1.一种访问控制方法,其特征在于,所述方法应用于SSO系统的SSO服务器,所述方法包括:确定当前需要进行访问控制的目标业务服务;

确定当前禁止请求所述目标业务服务的目标客户端;

依据禁止所述目标客户端访问的目标业务服务,生成目标客户端对应的消息,并向所述目标客户端发送消息,所述消息用于指示所述目标客户端拦截针对所述目标业务服务的访问请求。

2.根据权利要求1所述的方法,其特征在于,所述确定当前需要进行访问控制的目标业务服务,包括:从关联的多个应用服务器中,确定当前处于过载状态的目标应用服务器;

将所述目标应用服务器所提供的业务服务确定为需要进行访问控制的目标业务服务。

3.根据权利要求1所述的方法,其特征在于,所述确定当前需要进行访问控制的目标业务服务,包括:确定当前带宽占用比超过预设值的目标网络段;

基于预置的网络段与业务服务之间的对应关系,确定所述目标网络段对应的目标业务服务,并将所述目标业务服务确定为当前需要进行访问控制的目标业务服务。

4.根据权利要求1所述的方法,其特征在于,所述确定当前需要进行访问控制的目标业务服务,包括:获取用户配置的业务服务列表,所述业务服务列表中包括至少一项需要进行访问控制的目标业务服务。

5.根据权利要求1所述的方法,其特征在于,所述消息包括以下一种或多种:所述目标业务服务的标识;

对所述目标业务服务进行访问控制的目标时长;

用于提示用户禁止请求所述目标业务服务的提示信息。

6.一种访问控制方法,其特征在于,所述方法应用于客户端,包括:截获客户端待发送的访问请求;

确定所述访问请求所请求的业务服务;

依据单点登录服务器发送的依据禁止所述客户端访问的目标业务服务生成的消息,确定所述业务服务是否属于禁止请求的目标业务服务;

当所述业务服务属于禁止请求的目标业务服务时,丢弃所述访问请求,其中,所述目标业务服务为由单点登录服务器确定的禁止所述客户端请求的业务服务。

7.根据权利要求6所述的方法,其特征在于,还包括:当所述业务服务不属于禁止请求的目标业务服务时,将所述访问请求发送给所述单点登录服务器。

8.根据权利要求6所述的方法,其特征在于,在所述截获客户端待发送的访问请求之前,还包括:接收所述单点登录服务器发送的消息,所述消息用于指示所述目标客户端拦截针对所述目标业务服务的访问请求。

9.根据权利要求8所述的方法,其特征在于,所述消息包括:所述目标业务服务的标识;

所述确定所述访问请求所请求的业务服务,包括:确定所述访问请求携带的业务服务的标识;

则所述确定所述访问请求所请求的业务服务之后,还包括:获取禁止请求的所述目标业务服务的标识;

检测是否存在标识与所述业务服务的标识之间满足预设的匹配条件的目标业务服务;

当存在标识与所述业务服务的标识之间满足所述匹配条件的目标业务服务时,则确定所述业务服务属于禁止请求的目标业务服务。

10.根据权利要求9所述的方法,其特征在于,所述检测是否存在标识与所述业务服务的标识之间满足预设的匹配条件的目标业务服务,包括:检测是否存在标识与所述业务服务的标识相同的目标业务服务;

或者,检测是否存在标识的指定字段与所述业务服务的标识中的指定字段相同的目标业务服务。

11.根据权利要求8所述的方法,其特征在于,所述消息包括:对所述目标业务服务进行访问控制的目标时长;

则在所述接收所述单点登录服务器发送的消息之后,还包括:将所述目标业务服务确定为当前时刻之后所述目标时长内需要禁止请求的业务服务;

在所述确定所述访问请求所请求的业务服务之后,还包括:确定当前禁止请求的目标业务服务。

12.根据权利要求8所述的方法,其特征在于,所述消息包括:用于提示用户禁止请求所述目标业务服务的提示信息;

则在所述丢弃所述访问请求之后,还包括:

依据所述消息中的所述提示信息,输出用于提示用户禁止请求所述业务服务的提醒消息。

13.一种访问控制装置,其特征在于,所述装置应用于SSO系统的SSO服务器,所述装置包括:业务确定单元,用于确定当前需要进行访问控制的目标业务服务;

客户端确定单元,用于确定当前禁止请求所述目标业务服务的目标客户端;

发送单元,用于依据禁止所述目标客户端访问的目标业务服务,生成目标客户端对应的消息,并向所述目标客户端发送消息,所述消息用于指示所述目标客户端拦截针对所述目标业务服务的访问请求。

14.根据权利要求13所述的装置,其特征在于,所述业务确定单元,包括:服务器确定子单元,用于从关联的多个应用服务器中,确定当前处于过载状态的目标应用服务器;

第一确定子单元,用于将所述目标应用服务器所提供的业务服务确定为需要进行访问控制的目标业务服务。

15.根据权利要求13所述的装置,其特征在于,所述业务确定单元,包括:网段确定子单元,用于确定当前带宽占用比超过预设值的目标网络段;

第二确定子单元,用于基于预置的网络段与业务服务之间的对应关系,确定所述目标网络段对应的目标业务服务,并将所述目标业务服务确定为当前需要进行访问控制的目标业务服务。

16.根据权利要求13所述的装置,其特征在于,所述业务确定单元,包括:第三确定子单元,用于获取用户配置的业务服务列表,所述业务服务列表中包括至少一项需要进行访问控制的目标业务服务。

17.一种访问控制装置,其特征在于,所述装置应用于客户端,包括:请求截获单元,用于截获客户端待发送的访问请求;

请求分析单元,用于确定所述访问请求所请求的业务服务;

请求丢弃单元,用于依据单点登录服务器发送的依据禁止所述客户端访问的目标业务服务生成的消息,确定所述业务服务是否属于禁止请求的目标业务服务,当所述业务服务属于禁止请求的目标业务服务时,丢弃所述访问请求,其中,所述目标业务服务为由单点登录服务器确定的禁止所述客户端请求的业务服务。

18.根据权利要求17所述的装置,其特征在于,还包括:请求发送单元,用于当所述业务服务不属于禁止请求的目标业务服务时,将所述访问请求发送给所述单点登录服务器。

19.根据权利要求17所述的装置,其特征在于,还包括:消息接收单元,用于在所述请求拦截单元截获所述访问请求之前,接收所述单点登录服务器发送的消息,所述消息用于指示所述目标客户端拦截针对所述目标业务服务的访问请求。

20.根据权利要求19所述的装置,其特征在于,所述消息包括:所述目标业务服务的标识;

所述请求分析单元,具体为:用于确定所述访问请求携带的业务服务的标识;

所述装置还包括:

业务获取单元,用于在所述业务分析单元确定出所述访问请求所请求的业务服务之后,获取禁止请求的所述目标业务服务的标识;

业务检测单元,用于检测是否存在标识与所述业务服务的标识之间满足预设的匹配条件的目标业务服务,并当存在标识与所述业务服务的标识之间满足所述匹配条件的目标业务服务时,则确定所述业务服务属于禁止请求的目标业务服务。

21.根据权利要求19所述的装置,其特征在于,所述消息包括:对所述目标业务服务进行访问控制的目标时长;

所述装置还包括:

业务监控单元,用于在消息接收单元接收到所述消息之后,将所述目标业务服务确定为当前时刻之后所述目标时长内需要禁止请求的业务服务;

业务确定单元,用于在请求分析单元确定出所述访问请求所请求的业务服务之后,确定当前禁止请求的目标业务服务。

22.根据权利要求19所述的装置,其特征在于,所述消息包括:用于提示用户禁止请求所述目标业务服务的提示信息;

所述装置还包括:

提醒输出单元,用于在所述请求丢弃单元丢弃所述访问请求之后,依据所述消息中的所述提示信息,输出用于提示用户禁止请求所述业务服务的提醒消息。

23.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器加载并执行时,实现如上权利要求1至12任一项所述的访问控制方法。

说明书 :

访问控制方法和装置

技术领域

[0001] 本申请涉及网络通信技术领域,特别涉及一种访问控制方法和装置。

背景技术

[0002] 单点登录(SSO,Single Sign On)是指通过特定的方式建立多个应用系统之间的关联,以使得用户一次登录便可以访问该多个应用系统中的任意一个应用系统。SSO系统可以包括多个应用系统对应的应用服务器以及SSO服务器,其中,SSO服务器可以为各个应用系统提供统一的登录认证,并将客户端发送的访问请求转发给应用系统的应用服务器。
[0003] 然而SSO系统的资源有限,如果SSO系统所需处理的访问请求的数量超出了该SSO系统的处理能力,就会导致SSO系统出现过载,如,SSO系统中某部分网段的带宽容量不足导致该部分网段的网络拥塞,SSO系统中一个或多个应用服务器出现过载,或者SSO服务器出现过载等。在SSO系统出现过载的情况下,客户端发出的访问请求就可能无法被及时处理,而客户端如果长时间接收不到针对该访问请求的响应,就会重新向SSO系统发送访问请求,这样必然又增大了SSO系统的负载,如此恶性循环,最终就可能会导致SSO系统或者SSO系统中的部分应用系统瘫痪,影响到SSO系统的可靠性。

发明内容

[0004] 本申请提供了一种访问控制方法和装置,以提高SSO系统的可靠性。
[0005] 为了解决上述问题,一方面,本申请提供了一种访问控制方法,包括:
[0006] 确定当前需要进行访问控制的目标业务服务;
[0007] 确定当前禁止请求所述目标业务服务的目标客户端;
[0008] 向所述目标客户端发送消息,所述消息用于指示所述目标客户端拦截针对所述目标业务服务的访问请求。
[0009] 另一方面,本申请提供了另一种访问控制方法,包括:
[0010] 截获客户端待发送的访问请求;
[0011] 确定所述访问请求所请求的业务服务;
[0012] 当所述业务服务属于禁止请求的目标业务服务时,丢弃所述访问请求,其中,所述目标业务服务为由单点登录服务器确定的禁止所述客户端请求的业务服务。
[0013] 另一方面,本申请提供了一种访问控制装置,包括:
[0014] 业务确定单元,用于确定当前需要进行访问控制的目标业务服务;
[0015] 客户端确定单元,用于确定当前禁止请求所述目标业务服务的目标客户端;
[0016] 发送单元,用于向所述目标客户端发送消息,所述消息用于指示所述目标客户端拦截针对所述目标业务服务的访问请求。
[0017] 另一方面,本申请提供了另一种访问控制装置,包括:
[0018] 请求截获单元,用于截获客户端待发送的访问请求;
[0019] 请求分析单元,用于确定所述访问请求所请求的业务服务;
[0020] 请求丢弃单元,用于当所述业务服务属于禁止请求的目标业务服务时,丢弃所述访问请求,其中,所述目标业务服务为由单点登录服务器确定的禁止所述客户端请求的业务服务。
[0021] 由以上可知,本申请实施例如果SSO系统出现过载,SSO服务器可以确定当前需要进行访问控制的目标业务服务以及禁止请求该目标业务服务的目标客户端,并通过向该目标客户端发送消息,来指示该目标客户端拦截针对该目标业务服务的访问请求,这样,可以减少针对该目标业务服务所发起的访问请求,实现了从源头上减少了访问请求的数量,有利于减轻SSO系统的过载状况,从而减少由于SSO系统过载而导致SSO系统无法响应用户的访问请求的情况,提高了SSO系统的可靠性。

附图说明

[0022] 为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0023] 图1示出了本申请一种可能的应用场景示意图;
[0024] 图2示出了本申请一种访问控制方法一个实施例的流程示意图;
[0025] 图3示出了本申请一种访问控制方法又一个实施例的流程示意图;
[0026] 图4示出了本申请另一种访问控制方法又一个实施例的流程示意图;
[0027] 图5示出了本申请一种访问控制装置一个实施例的结构示意图;
[0028] 图6示出了本申请另一种访问控制装置一个实施例的结构示意图;
[0029] 图7示出了本申请一种服务器的一种可能的硬件结构示意图;
[0030] 图8示出了本申请一种终端的一种可能的硬件结构示意图。

具体实施方式

[0031] 本发明实施例描述的网络架构以及业务场景是为了更加清楚的说明本发明实施例的技术方案,并不构成对于本发明实施例提供的技术方案的限定,本领域普通技术人员可知,随着网络架构的演变和新业务场景的出现,本发明实施例提供的技术方案对于类似的技术问题,同样适用。
[0032] 为了便于理解,对本申请实施例一种可能的应用场景进行介绍。参见图1,在该种应用场景中,该单点登录(SSO,Single Sign On)系统可以包括:SSO服务器101以及多个应用服务可以与多个应用服务器102通过网络连接。
[0033] 该SSO服务器101与该多个应用服务器102之间建立关联,以使得SSO服务器101可以作为这多个应用服务器102的统一认证系统。SSO服务器也可以认为是一个外网接入平台。而每个应用服务器可以向外提供一种或多种业务服务,例如,应用服务器可以向外提供地图服务,以供客户端调取地图数据。
[0034] 用户可以通过客户端103登录该SSO服务器,在SSO服务器验证用户具备登录权限之后,用户可以通过客户端103向SSO服务器发送针对不同应用服务器的访问请求。SSO服务器确定客户端发送的访问请求所请求访问的应用系统,并将该访问请求转发给应用系统的应用服务器。
[0035] 例如,以用户登录即时通讯系统为例,用户登录即时通讯系统实际上是该即时通讯系统中的服务器完成对用户身份的验证,而用户通过客户端上的即时通讯客户端可以向即时通讯系统发送好友列表查询、即时消息发送、地图调取等多种业务请求,即时通讯系统根据即时通讯客户端发出的业务请求,将该业务请求转发给提供相应业务的后台服务器(即,应用服务器),并在后台服务器对该业务请求的处理结果返回给客户端。
[0036] 下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
[0037] 参见图2,其示出了本申请一种访问控制方法一个实施例的流程示意图,本实施例的方法可以应用于SSO系统的SSO服务器。本实施例的方法可以包括:
[0038] 201,确定当前需要进行访问控制的目标业务服务。
[0039] 其中,业务服务可以理解为SSO系统中的应用服务器所提供的服务项目,如,业务服务可以为地图调取服务,好友列表查询服务等。
[0040] 为了便于区分,本申请实施例将需要进行访问控制的业务服务称为目标业务服务。
[0041] 可以理解的是,当SSO系统出现过载时,如果限制对某些业务服务的访问,可以减少SSO系统所需处理的访问请求的数量,从而可以减少SSO系统的过载情况。其中,该目标业务服务可以导致SSO系统出现过载的业务服务,或者是可能会引发SSO系统出现过载的业务服务,或者是当前占用SSO系统资源较高的业务服务。
[0042] 需要说明的是,需要进行访问控制的目标业务服务可以是一项或多项业务服务,在此不加以限制。
[0043] 202,确定当前禁止请求该目标业务服务的目标客户端。
[0044] 目标客户端为SSO系统的客户端,在客户端所在的终端上安装有SSO系统的客户端开发包。
[0045] 其中,该步骤202中确定出的目标客户端可以是一个或多个。相应的,SSO服务器可以将全部或部分客户端作为禁止请求目标业务服务器的目标客户端。如,可以选取指定区域的客户端作为目标客户端;又如,可以选取基于指定运营商联网的客户端作为目标客户端。
[0046] 可选的,SSO服务器也可以仅仅从已经登录的客户端中确定禁止请求该目标业务服务的目标客户端,如,选取部分或全部已登录的客户端作为目标客户端。
[0047] 需要说明的是,当步骤201中确定出的目标业务服务为多项时,可以是分别确定禁止请求每项目标业务服务的目标客户端;也可以是确定禁止请求该多项目标业务服务的目标客户端。
[0048] 203,向目标客户端发送消息,该消息用于指示目标客户端拦截针对该目标业务服务的访问请求。
[0049] 具体的,SSO服务器可以依据禁止该目标客户端访问的目标业务服务,生成目标客户端对应的消息,通过该消息指示该目标客户端拦截针对该目标业务服务的访问请求。
[0050] 可选的,为了使得客户端根据该消息能够明确需要拦截针对哪一个或哪些目标业务服务的访问请求,该消息可以包括目标业务服务的标识。
[0051] 进一步的,标识可以是唯一确定目标业务服务的标识,如,每个目标业务服务的命令字。例如,“日志上传”这一业务服务的命令字可以为“CliLogSvc.UploadReq”。特别的,当目标业务服务有多项时,该标识也可以是确定一类目标业务服务的标识,如,在该标识中可以包含有通配符。例如,对于“发送消息”和“接收消息”这两项业务服务而言,该标识中可以为“*message”,这样,只要是业务服务的命令字中包含有“messages”都属于该标识表征的目标业务服务。
[0052] 在本申请实施例中,如果SSO系统出现过载情况时,SSO服务器可以确定当前需要进行访问控制的目标业务服务以及禁止请求该目标业务服务的目标客户端,并通过向该目标客户端发送消息,来指示该目标客户端拦截针对该目标业务服务的访问请求,这样,可以减少针对该目标业务服务所发起的访问请求,从而实现了从源头上减少了访问请求的数量,有利于减轻SSO系统的过载状况,进而减少由于SSO系统过载而导致SSO系统无法响应用户的访问请求的情况,提高了SSO系统的可靠性。
[0053] 同时,考虑到SSO系统出现过载的情况下,SSO系统无法及时处理客户端针对目标业务服务的访问请求,这样就可能会导致客户端因自身的重试机制而不断向外发送该访问请求,而本申请实施例通过向目标客户端发送消息以指示目标客户端拦截针对该目标业务服务的访问请求,也可以避免目标客户端持续向外发送针对该目标业务服务的访问请求而造成的资源浪费。
[0054] 可以理解的是,SSO服务器可以在满足触发条件时,触发进行访问控制。其中,触发SSO服务器进行访问控制的触发方式可以有多种可能,如,可以是SSO服务器在确定SSO系统出现过载时,自动触发进行访问控制;又如,也可以是由SSO系统的管理人员根据实际需要手动触发SSO服务器进行访问控制。
[0055] 下面结合以上两种触发方式对本申请的访问控制方法进行详细介绍。
[0056] 首先对自动触发访问控制的情况进行介绍。在该种情况中,由于引发SSO系统出现过载的原因不同,自动触发的方式也可能会有所不同。
[0057] 对于SSO系统中一个或多个应用服务器出现过载而触发SSO服务器进行访问控制的过程可以参见图3,其示出了本申请一种访问控制方法又一个实施例的流程示意图,本实施例的方法应用于SSO服务器,该方法可以包括:
[0058] 301,从关联的多个应用服务器中,确定当前处于过载状态的目标应用服务器。
[0059] 其中,确定当前处于过载状态的目标应用服务器的方式可以有多种:
[0060] 在一种可能的实现方式中,SSO服务器可以监控应用服务器的请求应答比率,当该请求应答比率低于预设值,则可以确定该应用服务器处于过载状态。其中,请求应答比率是指SSO服务器向应用服务器转发访问请求之后,该应用服务器实际返回的应答的数量与SSO服务器向该应用服务器转发的访问请求的数量之比。可以理解的是,SSO服务器将访问请求的数据包转发该应用服务器之后,应用服务器响应该访问请求之后会向SSO服务器返回一个应答,这样,如果应用服务器处于过载状态,那么该应用服务器返回的应答数量就会大大小于该SSO服务器向该应用服务器转发的访问请求的数量,因此,通过该应用服务器的访问应答比率可以分析出该应用服务器是否出现过载。
[0061] 在另一种可能的实现方式中,应用服务器在接收到SSO转发的访问请求之后,可以向SSO返回一个应答,在该应答中可以携带一个返回码,如该应答中的指定字段可以为该返回码,该返回码可以标示出应用服务器当前的运行状态,根据该返回码便可以确定应用服务器是否出现过载。例如,返回码为0时,表示应用服务器处于正常运行状态;如果返回码为1,表示应用服务器的负载偏高;如果返回码为2,则表示应用服务器处于过载状态。
[0062] 当然,通过其他方式来确定应用服务器是否出现过载也同样适用于本申请,在此不加以限制。
[0063] 为了便于区分,在本申请实施例中,将出现过载的应用服务器称为目标应用服务器。
[0064] 302,将目标应用服务器所提供的业务服务确定为需要进行访问控制的目标业务服务。
[0065] 可以理解的是,当目标应用服务器出现过载时,如果客户端向该目标应用服务器发送访问请求,必然会增大该目标应用服务器所需处理的访问请求的数量,进而继续增大该应用服务器的负载,最终可能会导致该应用服务器无法处理任何客户端发送的访问请求,导致应用服务器瘫痪。因此,为了避免应用服务器出现瘫痪,本申请实施例将该应用服务器所提供的业务服务确定为需要进行访问控制的目标业务服务,以禁止部分或全部客户端向该应用服务器请求业务服务。
[0066] 例如,SSO系统中应用服务器1和应用服务器2出现过载,假设应用服务器1向外提供业务服务a和业务服务b;应用服务器2向外提供业务服务c和业务服务d,则可以将应用服务器1提供的业务服务a和业务服务b,以及应用服务器2提供的业务服务c和业务服务d确定为需要进行访问控制的目标业务服务。
[0067] 303,确定当前禁止请求该目标业务服务的目标客户端。
[0068] 与前面实施例相似,该目标客户端可以为客户端所在的客户端,且该目标客户端可以为一个或多个。
[0069] 304,向目标客户端发送消息,该消息用于指示目标客户端拦截针对该目标业务服务的访问请求。
[0070] 该步骤304可以与前面实施例的相应介绍,在此不再赘述。
[0071] 本申请实施例中在SSO服务器确定出应用服务器出现过载时,将该应用服务器所提供的业务服务确定为需要进行访问控制的目标业务服务,以禁止目标客户端向该应用服务器请求业务服务,从而可以从源头上减少向应用服务器发送的访问请求的数量,有利于降低应用服务器的负载,降低应用服务器瘫痪而无法响应用户请求的情况,进而提高了SSO系统的可靠性。
[0072] 同时,与应用服务器过载时通过丢弃部分访问请求以进行过载保护相比,本申请实施例通过向目标客户端发送指示消息,以禁止目标客户端向该应用服务器请求业务服务,不仅可以对应用服务器进行过载保护,也可以减少向SSO服务器发送的访问请求的数量,进而避免了SSO服务器处理大量无效的访问请求。
[0073] SSO系统出现过载的另一种可能的情况是SSO服务器自身出现过载,其中,SSO服务器可以通过监控自身的负载状态来确定自身是否出现过载。SSO服务器出现过载的情况下,该SSO服务器对请求任意业务服务的访问请求的处理能力均下降,因此,在SSO服务器确定出自身处于过载状态时,可以根据需要选取部分业务服务作为目标业务服务。
[0074] 可选的,SSO服务器可以依据当前针对各个业务服务的访问请求的数量从高到低的顺序,对各个业务服务进行排序,然后选择排序靠前的指定数量项业务服务作为需要进行访问控制的目标业务服务。
[0075] SSO系统出现过载的另一种可能的情况是:SSO系统中带宽占用比过高,导致网络拥塞。如,客户端到SSO服务器之间的带宽占用比过高,或者SSO服务器与某个应用服务器之间的带宽占用比过高,或者是应用服务器之间的带宽占用比过高。
[0076] 在该种情况下,SSO服务器可以监控是否存在占用比超过预设值的目标网络段,并确定当前时刻带宽占用比超过预设值的目标网络段。具体的,可以通过特定的感应器感应带宽占用情况,并当带宽占用比超过预设值时,感应器可以向该SSO服务器发送报警,当该SSO服务器接收到针对某个网络段的报警时,可以确定该网络段的带宽占用比超过预设值。
[0077] 在确定出当前存在带宽占用比超过预设值的目标网络段时,可以基于预置的网络段与业务服务之间的对应关系,确定该目标网络段对应的目标业务服务,并将该目标业务服务确定为当前需要进行访问控制的目标业务服务。
[0078] 下面对手动触发访问控制的方式进行介绍。
[0079] SSO系统的管理人员可以根据实际需要手动触发SSO服务器进行访问控制。具体的,用户可以配置需要进行访问控制的业务服务列表,该业务服务列表中可以包括至少一项需要进行访问控制的目标业务服务。当SSO服务器获取到用户配置的业务服务列表时,将该业务服务列表中的业务服务确定为需要进行访问控制的目标业务服务。
[0080] 例如,在春节等节日活动高峰期时,客户端请求日志上传的业务服务的数量会明显增多,管理人员可以预先配置在该节日期间需要进行访问控制的业务服务为“日志上传”这一业务服务,以介绍节日活动高峰期内客户端请求“日志上传”的数量,减缓SSO系统中负责“日志上传”的应用服务器的负载。
[0081] 又如,SSO系统的管理人员监测到某段网络段的带宽占用比较高,也可以根据需要配置业务服务列表,以触发SSO服务器对业务服务列表中的目标业务服务进行访问控制。
[0082] 当然,在实际应用中,SSO系统的管理人员也可以仅仅向SSO服务器发送控制指令,以触发SSO服务器自动确定需要进行访问控制的目标业务服务。
[0083] 可以理解的是,SSO系统在不同时刻的过载状态有可能会有所不同,根据过载的程度不同可以设置对目标业务服务进行访问控制的时长。因此,SSO服务器可以在向目标客户端发送的消息中包括对目标业务服务进行访问控制的目标时长。当然,不同的目标业务服务所需进行访问控制的时长可以不同。如,目标业务服务1需要进行访问控制的目标时长为1秒,目标业务服务2需要进行访问控制的目标时长为5秒。
[0084] 相应的,客户端可以根据目标业务服务对应的目标时长,在该目标时长内拦截针对该目标业务服务的访问请求。
[0085] 在以上任意一个实施例中,SSO服务器向目标客户端发送的消息中还可以包括:用于提示用户禁止请求该目标业务服务的提示信息。这样,客户端可以在接收到该消息后,或者是在客户端拦截到针对该目标业务服务的访问请求时,可以输出该提示信息,以对用户进行提示,从而避免用户在SSO系统过载的情况下,盲目请求该目标业务服务而引发SSO系统瘫痪;同时,也可以起到减缓用户焦急心理的作用,以减少由于针对该目标业务服务的访问请求不被响应而引起人为不断重试的情况。
[0086] 进一步的,该消息中还可以携带提示指示标识,该提示指示标识用于指示客户端是否输出提示信息。当该提示指示标识用于指示客户端输出提示信息时,该消息中可以包括该提示信息。
[0087] 可以理解的是,在实际应用中,SSO服务器向目标客户端发送的消息中可以根据需要包括以下任意一种或几种:目标业务服务的标识、对目标业务服务进行访问控制的目标时长以及用于提示用户禁止请求所述目标业务服务的提示信息。
[0088] 另一方面,本申请实施例还提供了另一种访问控制方法。
[0089] 参见图4,其示出了本申请另一种访问控制方法一个实施例的流程示意图,本实施例的方法应用于客户端,该方法可以包括:
[0090] 401,截获客户端待发送的访问请求。
[0091] 其中,该客户端可以理解为SSO系统的客户端,用户通过该客户端可以访问SSO系统。
[0092] 在本申请实施例中,会截获客户端待发送的访问请求,以便对该访问请求进行分析,对请求目标业务服务的访问请求进行拦截。
[0093] 402,确定该访问请求所请求的业务服务。
[0094] 举例说明,可以通过分析该访问请求中携带的业务服务的标识,确定该访问请求所请求的业务服务。例如,该访问请求可以携带业务服务的命令字,依据该命令字可以确定访问请求所请求的业务服务。
[0095] 403,当该业务服务属于禁止请求的目标业务服务时,丢弃该访问请求。
[0096] 其中,该目标业务服务为由SSO服务器确定出的,禁止该客户端请求的业务服务。如,该目标业务服务可以是在SSO服务器确定出SSO系统出现过载时确定出的,需要进行访问控制的业务服务;又如,该目标业务服务可以是SSO服务器根据SSO系统的管理人员的配置的业务服务列表中待进行访问控制一项或多项业务服务确定出的。当然,SSO服务器确定目标业务服务的过程可以前面实施例的相关介绍在此不再赘述。
[0097] 可以理解的是,丢弃该访问请求可以理解为拦截该访问请求以阻断该访问请求的发送,或者是客户端直接销毁该访问请求等,具体可以与现有的丢失访问请求的处理方式相同。
[0098] 在本实施例中,客户端截获待发送的访问请求,如果该访问请求所请求访问的业务服务属于SSO服务器确定出的需要禁止的目标业务服务,则丢失该访问请求,这样,可以避免由于客户端请求该目标业务服务而增加SSO系统的负载,从而可以从源头上减轻SSO系统的过载情况。
[0099] 可以理解的是,在该步骤402之后,还可以包括:
[0100] 当该访问请求所请求的业务服务不属于禁止请求的目标业务服务时,将该访问请求发送给SSO服务器。
[0101] 可以理解的是,为了确定出禁止访问的目标业务服务,在客户端截获客户端待发送的访问请求之前,该客户端还可以接收SSO服务器发送的消息。该消息用于指示所述目标客户端拦截针对所述目标业务服务的访问请求。
[0102] 进一步的,该消息可以包括:该目标业务服务的标识,如,目标业务服务的命令字。当然,该目标业务服务的标识也可以是表征一类业务服务的通用标识,该通用标识中可以包含通配符。
[0103] 相应的,客户端在截获到访问请求之后,可以确定该访问请求携带的业务服务的标识。同时,客户端需要获取目标服务器指示出的需要禁止请求的目标业务服务的标识。这样,客户端可以检测是否存在标识与该业务服务的标识之间满足预设的匹配条件的目标业务服务;如果存在标识与该业务服务的标识之间满足匹配条件的目标业务服务时,则确定该业务服务属于禁止请求的目标业务服务。
[0104] 其中,当该目标业务服务的标识为目标业务服务的唯一标识时,则匹配条件可以为业务服务的标识与目标业务服务的标识相同。
[0105] 当该目标业务服务的标识为包含通配符的标识时,则可以减少是否存在标识的指定字段与该业务服务的标识中的指定字段相同的目标业务服务。例如,目标业务服务的标识可以为包含通配符“*”的标识:“*message”,这样,如果访问请求所请求业务服务的命令字为“receive message”或者“send messages”,都可以认为该业务请求的命令字与该目标业务服务的标识“*message”之间满足匹配条件。
[0106] 可选的,SSO服务器向客户端发送的消息中还可以包括:用于提示用户禁止请求该目标业务服务的提示信息。相应的,客户端在丢弃该访问请求之后,可以依据该提示信息,输出用于提示用户禁止请求该访问请求所请求的业务服务的提醒消息。
[0107] 进一步的,该消息中还可以携带提示指示标识,该提示指示标识用于指示客户端是否输出提示信息。当客户端识别出该提示指示标识用于指示客户端输出提示信息时,则依据该提示信息输出提醒消息。
[0108] 可选的,SSO服务器向客户端发送的消息中还可以包括:对该目标业务服务进行访问控制的目标时长。客户端在接收到该消息之后可以将目标业务服务确定为当前时刻之后该目标时长内需要禁止请求的业务服务。具体的,客户端依据该消息,将目标业务服务对应的目标时长确定为当前该目标业务服务需要禁止请求的目标时长,并从接收到该消息的时刻起进行计时,以计时时长达到该目标时长之前,客户端均将需要禁止针对该目标业务服务的访问请求。
[0109] 也就是说,客户端每次均以接收到消息中目标业务服务的目标时长,更新禁止请求该目标业务服务的时长。举例说明,假设客户端在时刻1接收到SSO服务器发送的消息,且该消息包括:目标业务服务1进行访问控制的目标时长为7秒;目标业务服务2进行访问控制的目标时长为5秒。在时刻1之后的4秒,该客户端又接收到SSO服务器发送的消息,该消息包括:目标业务服务1进行访问控制的目标时长为2秒;目标业务服务目标业务服务3进行访问控制的目标时长为5秒。而最后一次消息中并未规定目标业务服务2进行访问控制的目标时长,所以可以仍以上一次的目标时长为准,则在当前时刻,该目标业务服务2剩余的目标时长为1秒,则在当前时刻之后的一秒内,该目标业务服务2为需要禁止请求的业务服务,而超过当前时刻之后的一秒,则目标业务服务2不属于被禁止请求的业务服务。
[0110] 而客户端每次均以接收到消息中目标业务服务的目标时长,更新禁止请求该目标业务服务的时长,有利于避免出现终端一直无法请求目标业务服务的情况,同时,可以在不同时刻通过禁止不同的客户端发起针对目标业务服务的访问请求,以提高禁止请求的公平性。
[0111] 相应的,在确定访问请求所请求的业务服务之后,客户端可以确定当前仍属于被禁止请求的目标业务服务。如,当前时刻该目标业务服务对应的计时时长为到达目标时长时,则该目标业务服务属于被禁止请求的目标业务服务。
[0112] 进一步的,当消息中该目标业务服务对应的目标时长超出客户端预设的时间范围,如,该时间范围可以为客户端的超时时长,则客户端可以默认对该目标业务服务进行访问控制的时长为预设时长,并在当前时刻之后预设时长内将该目标业务服务作为需要禁止请求的业务服务。
[0113] 下面对本发明实施例提供的一种访问控制装置进行介绍,下文描述的一种访问控制装置可与上文描述的一种访问控制方法相互对应参照。
[0114] 参见图5,其示出了本申请一种访问控制装置一个实施例的结构示意图,该装置可以包括:
[0115] 业务确定单元501,用于确定当前需要进行访问控制的目标业务服务;
[0116] 客户端确定单元502,用于确定当前禁止请求所述目标业务服务的目标客户端;
[0117] 发送单元503,用于向所述目标客户端发送消息,所述消息用于指示所述目标客户端拦截针对所述目标业务服务的访问请求。
[0118] 可选的,所述业务确定单元,包括:
[0119] 服务器确定子单元,用于从关联的多个应用服务器中,确定当前处于过载状态的目标应用服务器;
[0120] 第一确定子单元,用于将所述目标应用服务器所提供的业务服务确定为需要进行访问控制的目标业务服务。
[0121] 可选的,所述业务确定单元,包括:
[0122] 网段确定子单元,用于确定当前带宽占用比超过预设值的目标网络段;
[0123] 第二确定子单元,用于基于预置的网络段与业务服务之间的对应关系,确定所述目标网络段对应的目标业务服务,并将所述目标业务服务确定为当前需要进行访问控制的目标业务服务。
[0124] 可选的,所述业务确定单元,包括:
[0125] 第三确定子单元,用于获取用户配置的业务服务列表,所述业务服务列表中包括至少一项需要进行访问控制的目标业务服务。
[0126] 可选的,所述发送单元发送的消息包括以下一种或多种:
[0127] 所述目标业务服务的标识;
[0128] 对所述目标业务服务进行访问控制的目标时长;
[0129] 用于提示用户禁止请求所述目标业务服务的提示信息。
[0130] 另一方面,与本申请的另一种访问控制方法相对应,本申请实施例还提供了另一种访问控制装置。
[0131] 参见图6,其示出了本申请另一种访问控制装置一个实施例的结构示意图,该访问控制装置可以包括:
[0132] 请求截获单元601,用于截获客户端待发送的访问请求;
[0133] 请求分析单元602,用于确定所述访问请求所请求的业务服务;
[0134] 请求丢弃单元603,用于当所述业务服务属于禁止请求的目标业务服务时,丢弃所述访问请求,其中,所述目标业务服务为由单点登录服务器确定的禁止所述客户端请求的业务服务。
[0135] 可选的,该装置还可以包括:
[0136] 请求发送单元,用于当所述业务服务不属于禁止请求的目标业务服务时,将所述访问请求发送给所述单点登录服务器。
[0137] 可选的,该装置还可以包括:
[0138] 消息接收单元,用于在所述请求拦截单元截获所述访问请求之前,接收所述单点登录服务器发送的消息,所述消息用于指示所述目标客户端拦截针对所述目标业务服务的访问请求。
[0139] 可选的,所述消息包括:所述目标业务服务的标识;
[0140] 所述请求分析单元,具体为:用于确定所述访问请求携带的业务服务的标识;
[0141] 相应的,所述装置还包括:
[0142] 业务获取单元,用于在所述业务确定单元确定出所述访问请求所请求的业务服务之后,获取禁止请求的所述目标业务服务的标识;
[0143] 业务检测单元,用于检测是否存在标识与所述业务服务的标识之间满足预设的匹配条件的目标业务服务,并当存在标识与所述业务服务的标识之间满足所述匹配条件的目标业务服务时,则确定所述业务服务属于禁止请求的目标业务服务。
[0144] 可选的,所述消息包括:对所述目标业务服务进行访问控制的目标时长;
[0145] 相应的,装置还可以包括:
[0146] 业务监控单元,用于在消息接收单元接收到所述消息之后,将所述目标业务服务确定为当前时刻之后所述目标时长内需要禁止请求的业务服务;
[0147] 业务确定单元,用于在请求分析单元确定出所述访问请求所请求的业务服务之后,确定当前禁止请求的目标业务服务。
[0148] 可选的,所述消息包括:用于提示用户禁止请求所述目标业务服务的提示信息;
[0149] 相应的,所述装置还包括:
[0150] 提醒输出单元,用于在所述请求丢弃单元丢弃所述访问请求之后,依据所述消息中的所述提示信息,输出用于提示用户禁止请求所述业务服务的提醒消息。
[0151] 本发明实施例还提供了一种服务器,该服务器可以包括上述所述的一种访问控制装置。
[0152] 图7示出了服务器的硬件结构框图,参照图7,服务器700可以包括:处理器701,通信接口702,存储器703和通信总线704;
[0153] 其中处理器701、通信接口702、存储器703通过通信总线704完成相互间的通信;
[0154] 可选的,通信接口702可以为通信模块的接口,如GSM模块的接口;
[0155] 处理器701,用于执行程序;
[0156] 存储器703,用于存放程序;
[0157] 程序可以包括程序代码,所述程序代码包括计算机操作指令。
[0158] 处理器701可能是一个中央处理器CPU,或者是特定集成电路ASIC(Application Specific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。
[0159] 存储器703可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
[0160] 其中,程序可具体用于:
[0161] 确定当前需要进行访问控制的目标业务服务;
[0162] 确定当前禁止请求所述目标业务服务的目标客户端;
[0163] 向该目标客户端发送消息,该消息用于指示目标客户端拦截针对所述目标业务服务的访问请求。
[0164] 本发明实施例还提供了一种终端,该终端可以包括上述所述的另一种访问控制装置。
[0165] 图8示出了终端的硬件结构框图,参照图8,终端800可以包括:处理器801,通信接口802,存储器803和通信总线804;
[0166] 其中处理器801、通信接口802、存储器803通过通信总线804完成相互间的通信;
[0167] 可选的,通信接口802可以为通信模块的接口,如GSM模块的接口;
[0168] 处理器801,用于执行程序;
[0169] 存储器803,用于存放程序;
[0170] 程序可以包括程序代码,所述程序代码包括计算机操作指令。
[0171] 处理器801可能是一个中央处理器CPU,或者是特定集成电路ASIC(Application Specific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。
[0172] 存储器803可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
[0173] 其中,程序可具体用于:
[0174] 截获客户端待发送的访问请求;
[0175] 确定所述访问请求所请求的业务服务;
[0176] 当所述业务服务属于禁止请求的目标业务服务时,丢弃所述访问请求,其中,所述目标业务服务为由单点登录服务器确定的禁止所述客户端请求的业务服务。
[0177] 本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
[0178] 专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
[0179] 结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
[0180] 对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。