访问控制方法、装置以及系统与流程

文档序号:11778444阅读:259来源:国知局
访问控制方法、装置以及系统与流程

本申请涉及通信技术领域,尤其涉及一种访问控制方法、装置以及系统。



背景技术:

对于提供业务的网络业务平台而言,在网络业务平台的运营过程中,需要运营人员对网络业务平台进行管理,如,对于提供多媒体资源的网络业务平台而言,运营人员管理网络业务平台所能多媒体资源,修改多媒体资源的简介等等。

通常情况下,网络业务平台可以由多个业务系统组成,且不同业务系统所提供的可操作的业务操作种类不同。而不同运营人员所具有的操作权限也不相同,只有当运营人员具有对某个业务系统中某些业务操作的操作管理权限时,该运营人员才可以在该业务系统中进行相应的业务管理操作。而为了对运营人员进行权限验证,每个业务系统的应用服务器中都需要开发相应的权限验证功能,开发工作量较大,从而网页业务平台进行权限验证的复杂度较高。



技术实现要素:

有鉴于此,本申请提供了一种访问控制方法、装置以及系统,以降低网页业务平台为了实现权限验证所需的开发工作量,降低权限验证的复杂度。

为实现上述目的,本申请提供了如下方案:

一方面,本申请提供了一种访问控制方法,该方法包括:

截获终端的浏览器向业务系统的应用服务器发送的业务操作请求,所述业务操作请求携带有所述浏览器缓存的目标用户标识,以及请求操作的业务操作信息;

响应于截获到的所述业务操作请求,向鉴权服务器发送鉴权请求,所述鉴权请求携带有所述目标用户标识以及所述业务操作信息;

当接收到所述鉴权服务器返回鉴权成功指示时,依据所述业务操作信息执行业务操作,其中,所述鉴权成功指示为在所述鉴权服务器确认所述目标用户标识为已登录用户的标识,且所述目标用户标识对应的目标操作权限集合中包括与所述业务操作信息相匹配的操作权限集合之后,生成的。

优选的,所述当所述鉴权服务器返回鉴权成功指示时,依据所述业务操作信息执行业务操作,包括:

当接收到所述鉴权服务器返回的鉴权成功指示时,将所述业务操作请求所请求操作的业务操作信息转发给所述应用服务器,以使得所述应用服务器依据所述业务操作信息执行业务操作。

优选的,所述响应于截获到的所述业务操作请求,向鉴权服务器发送鉴权请求,包括:

响应于截获到的所述业务操作请求,根据业务操作请求携带的所述目标用户标识以及业务操作信息,生成鉴权请求,所述鉴权请求携带有所述目标用户标识以及所述业务操作信息;

向鉴权服务器发送所述鉴权请求。

另一方面,本申请还提供了又一种访问控制方法,应用于鉴权服务器,所述方法包括:

接收应用服务器发送的鉴权请求,所述鉴权请求携带有目标用户标识以及业务操作信息,其中,鉴权请求为所述应用服务器截获到终端的浏览器发送的业务操作请求之后,根据业务操作请求携带的所述目标用户标识以及请求操作的所述业务操作信息生成的,且业务操作请求携带的所述目标用户标识为缓存在所述浏览器中的目标用户标识;

检测是否所述目标用户标识为已登录用户的目标用户标识,且所述目标用户标识对应的目标操作权限集合中,存在与所述业务操作信息相匹配的目标操作权限;

当所述目标用户标识为已登录用户的目标用户标识,且所述目标用户标识对应的目标操作权限集合中存在与所述业务操作信息相匹配的目标操作权限,为所述应用服务器返回鉴权成功指示,以使得所述应用服务器依据所述业务操作信息执行业务操作。

优选的,在所述为所述应用服务器返回鉴权成功指示的同时,还包括:

生成包含所述目标用户标识以及所述业务操作信息的操作日志,并存储所述操作日志。

优选的,所述检测是否所述目标用户标识为已登录用户的目标用户标识,且所述目标用户标识对应的目标操作权限集合中,存在与所述业务操作信息相匹配的目标操作权限,包括:

从存储的已登录用户的用户标识与操作权限集合的对应关系中,查询是否存在所述目标用户标识对应的目标操作权限集合;

当查询到所述目标用户标识对应的目标操作权限集合时,检测所述目标操作权限集合中是否存在与所述业务操作信息相匹配的目标操作权限。

优选的,所述从存储的已登录用户的目标用户标识与操作权限集合的对应关系中,查询是否存在所述目标用户标识对应的目标操作权限集合,包括:

从远程的内存数据库中存储的已登录用户的目标用户标识与操作权限集合的对应关系中,查询是否存在所述目标用户标识对应的目标操作权限集合。

优选的,在所述接收应用服务器发送的鉴权请求之前,还包括:

接收所述终端的浏览器发送的登录请求,所述登录请求携带有请求登录的用户的用户名和登录密码;

当基于所述用户名和登录密码验证出所述用户的身份合法时,依据所述用户名,获取所述用户具有的所有操作权限,并将所述具有的所有操作权限组成目标操作权限集合;

生成唯一标识所述用户的所述目标用户标识,并存储所述目标用户标识与所述目标操作权限集合的对应关系;

将所述目标用户标识发送所述终端的浏览器,以在所述浏览器中缓存所述目标用户标识。

优选的,在所述将所述目标用户标识发送所述终端的浏览器之后,还包括:

为所述浏览器返回权限选择界面,所述权限选择界面包括所述目标操作权限集合中的各项操作权限的菜单选项;

获取浏览器返回的待处理操作权限的标识,所述待处理操作权限为用户从所述权限选择界面选择的菜单选项所关联的操作权限;

根据操作权限所关联的页面地址,为所述浏览器返回所述待处理操作权限所对应的业务操作页面的页面地址,以使得所述浏览器根据所述业务操作页面的业务地址,从所述应用服务器获取所述业务操作页面,并基于用户在所述业务操作页面中的操作,生成所述业务操作请求。

另一方面,本申请实施例还提供了一种访问控制装置,包括:

请求截获单元,用于截获终端的浏览器向业务系统的应用服务器发送的业务操作请求,所述业务操作请求携带有所述浏览器缓存的目标用户标识,以及请求操作的业务操作信息;

鉴权请求单元,用于响应于截获到的所述业务操作请求,向鉴权服务器发送鉴权请求,所述鉴权请求携带有所述目标用户标识以及所述业务操作信息;

业务执行单元,用于当接收到所述鉴权服务器返回鉴权成功指示时,依据所述业务操作信息执行业务操作,其中,所述鉴权成功指示为在所述鉴权服务器确认所述目标用户标识为已登录用户的标识,且所述目标用户标识对应的目标操作权限集合中包括与所述业务操作信息相匹配的操作权限集合之后,生成的。

另一方面,本申请实施例还提供了一种访问控制装置,应用于鉴权服务器,所述装置包括:

请求接收单元,用于接收应用服务器发送的鉴权请求,所述鉴权请求携带有目标用户标识以及业务操作信息,其中,鉴权请求为所述应用服务器截获到终端的浏览器发送的业务操作请求之后,根据业务操作请求携带的所述目标用户标识以及请求操作的所述业务操作信息生成的,且业务操作请求携带的所述目标用户标识为缓存在所述浏览器中的目标用户标识;

鉴权处理单元,用于检测是否所述目标用户标识为已登录用户的目标用户标识,且所述目标用户标识对应的目标操作权限集合中,存在与所述业务操作信息相匹配的目标操作权限;

结果指示单元,用于当所述目标用户标识为已登录用户的目标用户标识,且所述目标用户标识对应的目标操作权限集合中存在与所述业务操作信息相匹配的目标操作权限,为所述应用服务器返回鉴权成功指示,以使得所述应用服务器依据所述业务操作信息执行业务操作。

另一方面,本申请还提供了一种访问控制系统,包括:

应用服务器,用于截获终端的浏览器向所述应用服务器发送的业务操作请求,所述业务操作请求携带有所述浏览器缓存的目标用户标识,以及请求操作的业务操作信息;响应于截获到的所述业务操作请求,向鉴权服务器发送鉴权请求,所述鉴权请求携带有所述目标用户标识以及所述业务操作信息;当接收到所述鉴权服务器返回鉴权成功指示时,依据所述业务操作信息执行业务操作;

鉴权服务器,用于响应于所述鉴权请求,检测是否所述目标用户标识为已登录用户的目标用户标识,且所述目标用户标识对应的目标操作权限集合中,存在与所述业务操作信息相匹配的目标操作权限;当所述目标用户标识为已登录用户的目标用户标识,且所述目标用户标识对应的目标操作权限集合中存在与所述业务操作信息相匹配的目标操作权限,为所述应用服务器返回所述鉴权成功指示。

经由上述的技术方案可知,在本申请实施例中,业务系统的应用服务器会拦截终端发送的业务操作请求,并在应用服务器处理该业务操作请求之前,向鉴权服务器发送鉴权请求,并通过鉴权服务器验证该终端的用户是否具备该业务操作请求中携带的业务操作信息对应的操作权限,从而实现了通过鉴权服务器统一对业务系统中所有业务操作请求进行权限认证,避免了分别在每台应用服务器中单独开发权限认证程序,降低了开发的工作量和复杂度,提高了权限认证的便捷性。

附图说明

为了更清楚地说明本申请实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1示出了本申请的访问控制方法所适用的一种应用场景的组成架构示意图;

图2示出了本申请一种访问控制方法一个实施例的流程示意图;

图3示出了本申请一种访问控制装置一个实施例的组成结构示意图;

图4示出了本申请又一种访问控制装置一个实施例的组成结构示意图。

具体实施方式

为了便于理解,先对本申请实施例的方案所适用的一种应用场景进行介绍,如图1所示。在图1的应用场景中包括:网络业务平台10和运营人员所在的终端11。

其中,该网络业务平台可以包括多个业务系统101以及一个鉴权服务器102,业务系统与鉴权服务器通过网络相连。

其中,每个业务系统101可以包括一个或多个应用服务器1011,其中,当业务系统包括多个应用服务器时,该多个应用服务器可以构成一个服务器集群。

当然,为了身份验证与权限认证的速度以及可靠性,并避免由于鉴权服务器故障而导致无法进行身份以及权限验证,该鉴权服务器同样可以有多台。如,可以根据负载均衡原则,从该多台鉴权服务器中选择一台作为当前进行身份验证与权限认证的鉴权服务器;又如,这多台鉴权服务器中一台作为主服务器,其他作为备用服务器,当作为主服务器的鉴权服务器出现故障时,则启动作为备用服务器的鉴权服务器。

其中,鉴权服务器可以维护以下内容:

权限的管理:各项操作权限的创建、修改、删除以及查询等等;

角色的管理:角色的创建、修改、删除以及查询等等,其中,一个角色可以具有一项或者多项操作权限;

用户权限的管理:赋予或者收回用户的一个或者多个角色。

其中,网页业务平台的管理员可以在鉴权中心的权限管理界面新增或者删除各项操作权限对应的选项,同时,针对每项操作权限,管理员会建立各项操作权限所关联的可操作页面的页面地址以及每项操作权限对应的匹配规则模板等等。其中,每项操作权限对应的匹配规则模板为用于确定该项操作权限所可能匹配的操作内容的规则,如,该匹配规则模板可以为一个正则表达式,基于正则表达式可以检测运营人员所请求的操作内容是否属于该项操作权限所包含的权限范围。

在一种实现方式中,该网页业务平台还可以包括数据库103,该数据库可以与该鉴权服务器通过网络相连,该数据库中可以存储鉴权服务器所管理的权限、角色以及用户权限等相关信息。

下面结合本申请的以上共性,对本申请实施例的访问控制方法进行详细介绍。

如,参见图2,其示出了本申请一种访问控制方法一个实施例的流程交互示意图,本实施例的方法可以包括:

s201,终端通过浏览器向鉴权服务器发送登录请求,该登录请求携带有用户的用户名以及登录密码。

其中,鉴权服务器可以为向请求登录网络业务平台所有终端提供统一的登录页面。相应的,用户在终端的浏览器中打开网络业务平台的登录页面,并在该登录页面填写登录该网络业务平台所需的用户名和密码之后,可以向该鉴权服务器发出登录请求,则该登录请求被定向发送给该鉴权服务器。

在本申请实施例中,该用户可以为网络业务平台的运营人员,用户的用户名可以唯一标识一个用户。

s202,鉴权服务器响应于该登录请求,基于该用户名和登录密码,验证该用户的身份合法性。

如,鉴权服务器中可以存储不同用户名对应的密码,这样,获取到登录请求所携带的用户名之后,鉴权服务器检测该登录密码与该鉴权服务器中存储的与该用户名对应的密码是否一致,如果一致,则确认该用户为具有合法身份的用户。

当然,基于用户的用户名和登录密码,验证用户身份合法性的方式可以有多种,对于采用哪种方式来验证用户身份的合法性,本申请实施例不加以限制。

需要说明的是,以上步骤s201和步骤s202为可选步骤,其属于身份验证的过程,而不属于操作权限认证过程,其仅仅是为了能够便于理解本申请方案的整个过程而进行描述。

s203,当鉴权服务器验证出该用户的身份合法时,从存储的用户名与角色集合的关联关系中,查询出与该用户的用户名关联的目标角色集合。

其中,该目标角色集合中包括至少一个目标角色。为了便于区分,本申请实施例中,将该用户关联的角色称为目标角色,并将用户关联的所有目标角色所组成的集合称为目标角色集合。

如,如果在鉴权服务器中存储有该用户名与角色集合的关联关系的情况下,可以从鉴权服务器中查询出该目标角色集合;如果在数据库中存储有该用户名与角色集合的关联关系,则可以数据库中查询出该目标角色集合。

其中,角色用于表征用户在运营过程中所承载的职责,如,角色可以为物流运输、售前咨询、售后维护等等。

可以理解的是,在鉴权服务器验证出用户身份合法时,则该用户可以登录该鉴权服务器;当鉴权服务器验证出该用户的身份不合法时,该鉴权服务器可以为浏览器返回相应的错误提示,如密码输入操作,不具备登录权限等等。

s204,鉴权服务器根据存储的角色与操作权限的匹配关系,分别获取目标角色集合中每个目标角色关联的至少一项操作权限,得到与该目标角色集合中的至少一个目标角色关联的操作权限集合。

其中,该操作权限集合中包括至少一项操作权限。

如,从鉴权服务器存储的角色与操作权限的匹配关系中,获取该目标角色集合中各个目标角色关联的操作权限;或者是,从数据库存储的该角色与操作权限的匹配关系中,获取该目标角色集合中各个目标角色关联的操作权限。

在本申请实施例中,不同的角色具有不同的操作权限,根据业务系统的不同,不同角色所具有的操作权限可以完全不同,也可以存在部分操作权限的重合。

可选的,为了避免该用户对应的操作权限集合中存在重复的操作权限,在确定出该用户的目标角色集合中每个目标角色关联的各项操作权限之后,可以去除重复的操作权限,并将去重之后所得到的各项操作权限所组成的集合作为该用户具有的操作权限集合。当然,在得到该操作权限集合之后,再对操作权限集合中的操作权限进行去重操作也同样适用。

需要说明的是,在本申请实施例中,通过为不同用户分配不同的角色,并未每个角色关联有至少一项操作权限仅仅是一种确定用户所具有的操作权限的方式。在实际应用中,也可以预先在鉴权服务器中配置不同用户所具有的操作权限集合,每个用户所具有的操作权限集合中包括至少一项操作权限,在该种情况中,鉴权服务器可以依据用户的用户名,从数据库或者该鉴权服务器中存储的用户名与操作权限的对应关系中,获取该用户关联的至少一项操作权限,从而得到该用户所具有的至少一项操作权限所构成的操作权限集合。

s205,鉴权服务器为该用户生成唯一的用户标识,并在远程的内存数据库中缓存该用户标识与该操作权限集合的对应关系。

其中,该用户标识用于唯一标识该用户,该用户标识可以由数字、字母或者其他字符中的一种或多种组成。当然,该鉴权服务器也可以直接将用户的用户名作为该用户的用户标识。

考虑到用户的用户名很容易被窃取,而被他人冒用,因此,为了保证后续权限认证的可靠性,鉴权服务器在确认用户身份合法之后,可以为用户生成一个唯一的用户标识,该用户标识由鉴权服务器随机生成,且该用户标识不同于该用户的用户名。

可以理解的是,在内存数据库中缓存该用户标识与该操作权限集合的对应关系,有利于后续鉴权服务器快速查询出该用户标识所表征的用户具有哪些目标操作权限。

如,该内存数据库可以为存储键(key)与键值(value)之间映射的数据库,即redis数据库。相应的,可以将用户标识作为键,将用户对应的操作权限集合作为键值,从而将该用户的用户标识与操作权限集合相对应的缓存到该redis数据库中。

可以理解的,在不同时刻,鉴权服务器可能会为多个不同的已登录用户生成用户标识,为了便于区分,可以将当前时刻生成的该用户标识称为目标用户标识,并将该目标用户标识对应的操作权限集合称为目标操作权限集合。

需要说明的是,鉴权服务器在远程的内存数据库中缓存该用户标识与操作权限集合之间的对应关系仅仅是一种实现方式。但是可以理解的是,鉴权服务器也可以将该对应关系缓存到该鉴权服务器的存储器或者内存中,或者是将该对应关系缓存到其他类型的数据库中,在此不加以限制。

s206,鉴权服务器将该用户标识发送给终端的浏览器,以在浏览器中存储该用户标识。

如,将该用户标识写入到浏览器的cookies中。

可以理解的是,鉴权服务器为已登录的用户生成一个唯一的用户标识的目的是,通过该用户标识表征该用户为已成功登录该鉴权服务器(或者说成功登录网络业务平台)的已登录用户。相应的,在浏览器发起对业务系统的业务操作请求时,浏览器可以将缓存的业务标识携带在该业务操作请求中,这样,鉴权服务器可以检测该用户标识是否为该鉴权服务器为已登录用户生成的用户标识。

需要说明的是,鉴权服务器通过为已登录用户生成用户标识并存储该用户标识仅仅是鉴权服务器识别已登录用户的一种实现方式,在实际应用中,鉴权服务器也可以将已登录用户的用户名等信息存储到远程的内存数据库或者指定存储空间,以区分出已登录用户。

另外,步骤s203到步骤s206仅仅是为了用户请求登录鉴权服务器(或者说请求登录网络业务平台)的过程中,鉴权服务器对于登录请求的一些处理,该部分不属于鉴权服务器对于权限认证的过程,只不过是为了后续的权限验证而做的一些准备操作。

s207,鉴权服务器向终端的浏览器返回权限选择界面。

其中,该权限选择界面展现有该用户具备的该操作权限集合中的各项操作权限的选项。

如,在该权限选择界面中可以以菜单的形式展现出该操作权限集合中包含的各项操作权限对应的菜单选项,这样,用户可以通过点击表征不同操作权限的菜单选项,来实现对某项操作权限的选择。

s208,终端的浏览器将用户从该权限选择界面中选择的待处理操作权限的选项标识发送给鉴权服务器。

为了便于区分,将该操作权限集合中,用户选择出的操作权限称为待处理操作权限。

其中,该待处理操作权限的选项标识用于标识该待处理操作权限,如,该待处理操作权限的选项标识可以为该待处理操作权限的名称或者其他标识等等。

举例说明,权限选择界面中展现出操作权限a的菜单选项a、操作权限b的菜单选项以及操作权限c的菜单选项c,假设用户点击了操作权限b的菜单选项b,则浏览器可以将菜单选项b的坐标位置或者标识序号等等发送给鉴权服务器,以使得鉴权服务器根据菜单选项b的坐标位置或者标识序号,确定出用户点击的菜单选项,进而确定该菜单选项关联的操作权限为操作权限b。

s209,鉴权服务器基于该待处理操作权限关联的业务操作页面的页面地址,在该权限选择界面的页面展现区域展现该业务操作页面。

其中,业务操作页面可以展现:可供用户选择的业务操作项目,以及可选择配置的业务操作内容,例如,业务操作页面中可以展现有一些可供修改的电影信息,在该业务操作界面中,用户可以针对某一个电影执行修改或者删除电影名称等操作。

在鉴权服务器中存储有不同操作权限与该操作权限可操作的业务操作页面的页面之间的关联关系,鉴权服务器获取到用户选择的待处理操作权限之后,可以获取该待处理操作权限关联的业务操作页面的页面地址,从而基于该业务操作页面的页面地址获取该业务操作页面。如,鉴权服务器可以将该待处理操作权限关联的业务操作页面的页面地址发送给终端的浏览器,该浏览器可以基于该页面地址,向该业务操作页面所属的业务系统的应用服务器发送页面请求,从而获取到该业务操作页面。

可以理解的是,终端的浏览器中展现该业务操作页面的方式可以有多种。为了便于用户在观看或操作该业务操作页面的同时,浏览器可以将业务操作页面展现在该权限选择界面中指定区域,该指定区域可以为用于展现业务操作页面的页面展现区域。相应的,在该权限界面展现业务操作页面的同时,用户如果希望变更所选择的操作权限,则仍可以选择其他的操作权限的选项,从而重新加载其他操作权限对应的业务操作页面。

s210,终端的浏览器根据用户在业务操作页面中的操作,向应用服务器发送业务操作请求。

其中,该业务操作请求携带有浏览器缓存的用户标识,以及请求操作的业务操作信息。为了便于区分,该业务操作请求中携带的用户标识也可以被称为目标用户标识。

如,浏览器根据用户在该业务操作页面所选择的业务操作项目以及所选择操作的内容等信息,生成业务操作请求,并获取cookies中缓存的该用户标识,并将该用户请求携带于该业务操作请求中。

可以理解的是,步骤s207至步骤s210仅仅是终端的浏览器向应用服务器发出业务操作请求的一种实现方式,在实际应用中,终端的浏览器还可以通过其他方式向业务系统的应用服务器发送业务操作请求,对于本申请不加以限制。

s211,应用服务器截获该业务操作请求,并基于该业务操作请求携带的用户标识以及业务操作信息,生成鉴权请求。

其中,该鉴权请求中包括该用户标识以及业务操作信息。

在应用服务器截获自身接收到的业务操作请求,并在应用服务器处理该业务操作请求之前,先对发送给业务操作请求的用户进行鉴权。

如,在应用服务器中可以安装有拦截应用,该拦截应用可以看成是该鉴权服务器对应的客户端,该拦截应用可以拦截到终端的浏览器向该应用服务器发送的业务操作请求,这样,在应用服务器处理该业务操作请求之前,该拦截应用会生成一个鉴权请求。

s212,应用服务器向鉴权服务器发送给鉴权请求。

可以理解的是,步骤s211和步骤s212为应用服务器或者说应用服务器中的拦截应用向鉴权服务器发送鉴权请求的一种实现方式。在实际应用中,应用服务器可以响应于截获到的该业务操作请求,向鉴权服务器发送鉴权请求,并将业务操作请求中携带的用户标识以及业务操作信息与鉴权请求一并发送给鉴权服务器。

s213,鉴权服务器根据该用户标识,从该远程的内存数据库中存储的已登录用户的用户标识与操作权限集合的对应关系中,查询是否存在该用户标识对应的目标操作权限集合,如果是,则执行步骤s214;如果否,则向应用服务器返回鉴权失败的提示;

可以理解的是,每个用户登录鉴权服务器之后,内存数据库中都会存储该用户的用户标识与该用户具有的操作权限集合之间的对应关系,这样,内存数据库中会存储多组对应关系。相应的,如果内存数据库中存储有该鉴权请求中携带的该用户标识对应的操作权限集合,则说明该业务操作请求中携带的用户标识为鉴权服务器为已登录用户生成的用户标识,同时也说明发起该业务操作请求的用户为已登录用户。

为了便于区分,将与该鉴权请求中携带的用户标识对应的操作权限集合称为目标操作权限集合。

可以理解的是,鉴权服务器将已登录用户的用户标识与该已登录用户具有的操作权限集合存储到该内存数据库中,这样,在该已登录用户通过终端的浏览器发起业务操作请求,且应用服务器基于该业务操作请求向鉴权服务器发起鉴权请求之后,鉴权服务器无需再实时查询该已登录用户所具有的角色,以及各个角色所具有的权限,避免了查询操作权限的复杂度;且将该用户标识作为键值,从该内存数据库中便可以查询到该用户标识所对应的目标操作权限集合,从而大大提高了确定该用户标识所表征的用户所具有的操作权限集合的效率。

当然,如果鉴权服务器在确定出该用户标识为该鉴权服务器为已登录用户生成的标识之后,在从数据库中实时匹配出该用户标识所表征的用户所具有的所有操作权限,也同样适用于本申请实施例。

需要说明的是,在鉴权服务器将用户标识与操作权限集合的对应关系存储到鉴权服务器、其他数据库等存储空间的情况下,鉴权服务器仍可以从相应存储空间中存储的已登录用户的用户标识与操作权限集合的对应关系中,查询是否存在该用户标识对应的目标操作权限集合,本申请对此不加以限制。

s214,鉴权服务器检测该目标操作权限集合中,是否存在与该业务操作信息相匹配的至少一项目标操作权限,如果是,为应用服务器返回鉴权成功指示,并执行步骤s215;如果否,则向应用服务器返回鉴权失败的提示。

为了便于区分,将目标操作权限集合中所包括的至少一项操作权限中,与该业务操作信息匹配的操作权限称为目标操作权限。

可以理解的是,如果该目标操作权限集合中存在与该业务操作信息相匹配的目标操作权限,则说明该终端的浏览器具有进行该业务操作信息相对应的业务操作的权限,在该种情况下,鉴权服务器认为该用户标识所表征的用户具有执行该业务操作信息对应的业务操作的权限,并确认鉴权通过,从而向应用服务器返回鉴权成功的指示。

其中,鉴权服务器从目标操作权限集合中,检测与该业务操作信息匹配的目标操作权限的过程可以为:检测各项操作权限所可能涉及到的业务操作内容是否包括或者说涵盖该业务操作信息,如果检测到某项操作权限所涉及到的业务操作内容涵盖该业务操作信息,则确定该项业务操作权限为与该业务操作信息匹配的目标操作权限。

可以理解的是,考虑到如果鉴权服务器将每项操作权限所可能涉及到所有业务操作内容均罗列出来,会导致数据存储量过大以及匹配复杂度高等诸多问题,可选的,该鉴权服务器可以预先构建每项操作权限所对应的业务操作内容所具有的基础信息,这样,基于该业务操作信息与该每项操作权限所对应的业务操作具有的基础信息进行匹配,从而确定业务操作信息匹配的操作权限。如,可以通过正则匹配的方式,确定业务操作信息所匹配的目标操作权限。

可以理解的是,步骤s213和步骤s214仅仅是一种检测是否该用户标识为已登录用户的目标用户标识,且该目标用户标识对应的目标操作权限集合中,存在与该业务操作信息相匹配的目标操作权限的一种实现方式,对于通过其他方式检测该用户标识是否为鉴权服务器为已登录用户生成的标识,并分析该用户标识所表征的用户是否具有对该业务操作信息相关的操作权限的方式,也同样适用于本申请实施例,在此不加以限制。

可以理解的是,在鉴权服务器向应用服务器返回鉴权失败的提示的情况下,应用服务器可以丢弃该业务操作请求,而不执行与该业务操作信息相关的业务操作。

s215,鉴权服务器生成包含该用户标识以及该业务操作信息的操作日志,并存储该操作日志。

通过操作日志可以了解到在运营过程中,不同用户标识所表征的用户进行了哪些业务操作。

当然,如果浏览器发送的业务操作请求携带有用户的用户名等信息,在该种情况下,操作日志中还可以记录该用户名等信息与该业务操作信息的对应关系。

在本申请实施例中,由鉴权服务器在鉴权成功时,基于业务操作信息生成操作日志,这样,所有的操作日志均由鉴权服务器来完成记录,无需分别在各个业务系统的应用服务器中单独开发用于实现操作日志记录的程序,大大减少了开发工作量,提高了操作日志记录的便捷性。

需要说明的,鉴权服务器生成操作日志与发送鉴权成功指示的顺序并不限于图2所示,在实际应用中,鉴权服务器也可以先生成操作日志,再发送鉴权成功指示,当然,鉴权服务器也可以在向应用服务器发送鉴权成功指示的同时,生成该操作日志。

s216,应用服务器依据该业务操作信息执行业务操作。

如,该业务操作信息为针对某个电影名称的修改,则应用服务器可以执行对该电影名称的修改等操作。

在本申请实施例中,业务系统的应用服务器会拦截终端发送的业务操作请求,并在应用服务器处理该业务操作请求之前,向鉴权服务器发送鉴权请求,并通过鉴权服务器验证该终端的用户是否具备该业务操作请求中携带的业务操作信息对应的操作权限,从而实现了通过鉴权服务器统一对业务系统中所有业务操作请求进行权限认证,避免了分别在每台应用服务器中单独开发权限认证程序,降低了开发的工作量和复杂度,提高了权限认证的便捷性。

同时,通过鉴权服务器向用户返回该用户具备的操作权限的权限选择界面,这样,如果用户不具备某项操作权限,则该权限选择界面中不会显示该操作权限,这样,用户也就无法在该权限选择界面上通过鼠标或键盘来选择相应的操作权限,从而无法请求对该操作权限相关的业务操作。

另外,即使存在用户恶意获取到该用户不具备操作权限的业务操作的页面地址,并通过浏览器向业务系统的应用服务器发送了对该页面地址对应的业务操作请求,而由于本申请中应用服务器拦截到该业务操作请求之后,会基于该业务操作请求向鉴权服务器发送鉴权请求,这样,如果鉴权服务器检测到该用户没有登录过鉴权服务器,或者不具备该业务操作请求所请求的业务操作信息的操作权限,鉴权服务器仍会向应用服务器反馈鉴权失败的提示,从而使得该用户不可能在该应用服务器中执行该业务操作信息对应的业务操作,进而提高了权限认证的可靠性。

对应本申请的一种访问控制方法,本申请还提供了一种访问控制装置,该访问控制装置可以应用于应用服务器,或者是部署于应用服务器的前端,以拦截向应用服务器发送的信息。

如,参见图3,其示出了本申请一种访问控制装置一个实施例的组成结构示意图,本实施例的访问控制装置可以包括:

请求截获单元301,用于截获终端的浏览器向业务系统的应用服务器发送的业务操作请求,所述业务操作请求携带有所述浏览器缓存的目标用户标识,以及请求操作的业务操作信息;

鉴权请求单元302,用于响应于截获到的所述业务操作请求,向鉴权服务器发送鉴权请求,所述鉴权请求携带有所述目标用户标识以及所述业务操作信息;

业务执行单元303,用于当接收到所述鉴权服务器返回鉴权成功指示时,依据所述业务操作信息执行业务操作,其中,所述鉴权成功指示为在所述鉴权服务器确认所述目标用户标识为已登录用户的标识,且所述目标用户标识对应的目标操作权限集合中包括与所述业务操作信息相匹配的操作权限集合之后,生成的。

可选的,所述业务执行单元,包括:

业务触发执行单元,用于当接收到所述鉴权服务器返回的鉴权成功指示时,将所述业务操作请求所请求操作的业务操作信息转发给所述应用服务器,以使得所述应用服务器依据所述业务操作信息执行业务操作。

可选的,所述鉴权请求单元,包括:

请求生成单元,用于响应于截获到的所述业务操作请求,根据业务操作请求携带的所述目标用户标识以及业务操作信息,生成鉴权请求,所述鉴权请求携带有所述目标用户标识以及所述业务操作信息;

鉴权请求发送单元,用于向鉴权服务器发送所述鉴权请求。

又一方面,本申请还提供了另外一种访问控制方法,如,参见图4,其示出了本申请又一种访问控制装置一个实施例的组成结构示意图,本实施例的装置可以应用于鉴权服务器,本实施例的装置可以包括:

请求接收单元401,用于接收应用服务器发送的鉴权请求,所述鉴权请求携带有目标用户标识以及业务操作信息,其中,鉴权请求为所述应用服务器截获到终端的浏览器发送的业务操作请求之后,根据业务操作请求携带的所述目标用户标识以及请求操作的所述业务操作信息生成的,且业务操作请求携带的所述目标用户标识为缓存在所述浏览器中的目标用户标识;

鉴权处理单元402,用于检测是否所述目标用户标识为已登录用户的目标用户标识,且所述目标用户标识对应的目标操作权限集合中,存在与所述业务操作信息相匹配的目标操作权限;

结果指示单元403,用于当所述目标用户标识为已登录用户的目标用户标识,且所述目标用户标识对应的目标操作权限集合中存在与所述业务操作信息相匹配的目标操作权限,为所述应用服务器返回鉴权成功指示,以使得所述应用服务器依据所述业务操作信息执行业务操作。

在一种可能的实现方式中,该装置还可以包括:

日志生成单元404,用于在所述结果指示单元为所述应用服务器返回鉴权成功指示的同时,生成包含所述目标用户标识以及所述业务操作信息的操作日志,并存储所述操作日志。

在一种可能的实现方式中,所述鉴权处理单元,可以包括:

信息查询子单元,用于从存储的已登录用户的用户标识与操作权限集合的对应关系中,查询是否存在所述目标用户标识对应的目标操作权限集合;

权限匹配单元,用于当查询到所述目标用户标识对应的目标操作权限集合时,检测所述目标操作权限集合中是否存在与所述业务操作信息相匹配的目标操作权限。

在一种可能的实现方式中,所述信息查询子单元,具体为,用于从远程的内存数据库中存储的已登录用户的目标用户标识与操作权限集合的对应关系中,查询是否存在所述目标用户标识对应的目标操作权限集合。

在一种可能的实现方式中,所述装置还可以包括:

登录接收单元,用于在所述请求接收单元接收应用服务器发送的鉴权请求之前,接收所述终端的浏览器发送的登录请求,所述登录请求携带有请求登录的用户的用户名和登录密码;

权限获取单元,用于当基于所述用户名和登录密码验证出所述用户的身份合法时,依据所述用户名,获取所述用户具有的所有操作权限,并将所述具有的所有操作权限组成目标操作权限集合;

标识生成单元,用于生成唯一标识所述用户的所述目标用户标识,并存储所述目标用户标识与所述目标操作权限集合的对应关系;

标识返回单元,用于将所述目标用户标识发送所述终端的浏览器,以在所述浏览器中缓存所述目标用户标识。

在以上任意一个实施例的基础上,该装置还可以包括:

权限界面返回单元,用于为所述浏览器返回权限选择界面,所述权限选择界面包括所述目标操作权限集合中的各项操作权限的菜单选项;

操作权限确定单元,用于获取浏览器返回的待处理操作权限的标识,所述待处理操作权限为用户从所述权限选择界面选择的菜单选项所关联的操作权限;

页面返回单元,用于根据操作权限所关联的页面地址,为所述浏览器返回所述待处理操作权限所对应的业务操作页面的页面地址,以使得所述浏览器根据所述业务操作页面的业务地址,从所述应用服务器获取所述业务操作页面,并基于用户在所述业务操作页面中的操作,生成所述业务操作请求。

需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。

对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

以上仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1