一种网络资源访问控制的方法、模块和服务器
技术领域
本发明涉及一种网络访问控制技术,尤其涉及一种网络资源访问控制的方法、模块和服务器。
背景技术
网站的经营者需要对网站的资源进行管理和控制,他们不希望把所有的网络资源都暴露在网络上,而是针对特定的网络用户开发特定的资源。针对上述需要,现有的解决方案有如下几种:
方案一,基于网络地址的网络访问控制方法。首先,定义多个访问组,并在每个访问组中定义各个网段的可访问性;然后,将每个用户与一个访问组绑定;这样当用户访问网络时,首先确定用户访问网络的目的地址所处的网段;然后查看该用户所绑定的访问组中记录的网段是否为可访问网段,如果是可访问网段,允许用户访问该目的地址,否则,禁止用户访问该目的地址。
这种方法只能实现粗粒度的访问控制,即控制某一个或多个网段的网络资源。
方案二,通过通用资源访问控制器实现对网络资源访问的控制,所述的通用资源访问控制器连接到存储可访问网络资源的系统上。这样,当用户访问网络资源时,首先访问通用资源控制器;然后,通用资源控制器根据用户所请求的网络资源的当前状态决定是否允许访问该网络资源。
这个技术方案的缺点是,网络资源的访问性对于所有用户都是一样的,要么对所有用户开放,要么对所有用户关闭。不能实现独立于每个用户的访问控制,即一些用户可以访问A资源而不能访问B资源,另一些用户可以访问B资源而不能访问A资源。
发明内容
本发明的目的是提供一种网络资源访问控制的方法、模块和服务器,解决了控制不同的用户访问不同网络资源的问题。
本发明提供了一种控制网络资源访问的方法,包括:
接收用户发出的网络资源访问请求信息;所述请求包含用户名和访问网络资源的统一资源定位地址URL;
根据所述用户名,获取所述用户对应的限制访问规则组;所述限制访问规则组包含根据网络资源的文件类型设置并由用户选择的访问规则;
将所述请求中包含的URL与所述限制访问规则组中的访问规则进行匹配,若匹配成功,允许用户访问该URL,否则,禁止用户访问该URL。
所述的方法还包括:根据网络资源的文件类型,将不同文件类型的网络资源对应不同的访问规则。
所述的方法还包括:根据用户选择的访问规则,将用户选择的所有访问规则组成限制访问规则组。
将限制访问规则组存储在与用户名对应的记录中。
所述的方法还设置公共访问规则组。
在获取所述用户对应的限制访问规则组的步骤之前,还执行:
将网络资源访问请求信息中的统一资源定位地址与公共访问规则组中的访问规则进行匹配,若匹配成功,则允许访问网络资源。
本发明还公开了一种网络资源访问控制模块,包括:
接收单元,用于接收用户发出的网络资源访问请求信息;所述请求包含用户名和访问网络资源的统一资源定位地址URL;
控制单元,用于根据所述用户名,获取所述用户对应的限制访问规则组;所述限制访问规则组包含根据网络资源的文件类型设置并由用户选择的访问规则;将所述请求中包含的URL与所述限制访问规则组中的访问规则进行匹配,若匹配成功,允许用户访问该URL,否则,禁止用户访问该URL。
所述的网络资源访问控制模块还包括:
数据存储单元,用于存储限制访问规则组。
本发明还公开了一种服务器,所述的服务器包括网络资源访问控制模块,所述的网络资源访问控制模块包括:
接收单元,用于接收用户发出的网络资源访问请求信息;所述请求包含用户名和访问网络资源的统一资源定位地址URL;
控制单元,用于根据所述用户名,获取所述用户对应的限制访问规则组;所述限制访问规则组包含根据网络资源的文件类型设置并由用户选择的访问规则;将所述请求中包含的URL与所述限制访问规则组中的访问规则进行匹配,若匹配成功,允许用户访问该URL,否则,禁止用户访问该URL。
根据本发明,将不同粒度的网络资源和/或不同类型的网络资源对应不同的访问规则,当用户根据需要选择不同的访问规则时,就可根据所选择的访问规则访问不同的网络资源,从而实现了通过不同的访问规则来访问不同粒度的网络资源和/或不同类型的网络资源,从而实现对各个用户实现不同粒度、不同类型资源访问控制。
附图说明
图1是一个网站结构的例子;
图2是基于URL地址的网络资源访问控制方法的流程图;
图3示出了本发明的网络资源访问控制模块;
图4示出了包括本发明网络资源访问控制模块的服务器。
具体实施方式
为了便于本领域一般技术人员理解和实现本发明,现结合附图描绘本发明的实施例。
本发明的实施例公开了一种网络资源访问控制的方法,该方法主要包括下述内容,接收网络资源访问请求信息;根据访问规则对网络资源访问请求信息进行验证以控制网络资源访问。
在进行控制网络资源访问之前,网络管理员首先设置访问规则。
例如有一个网站的结构如图1所示,网站中网络资源根据网站的网络资源的URL(统一资源定位)地址(如,文件结构)存放,这样,可以制定如表1所示的访问规则。
表1
访问规则(省略了服务器的标识) |
说明 |
/gzrb/html/2006-04/* |
/gzrb/html/2006-04/文件夹下所有的网络资源 |
/gzrb/html/2006-04/18/node_4105.htm |
node_4105.htm这一个网络资源 |
由表1可以看出,不同的目录用不同的访问规则来表示,从而使得用户终端可根据不同的访问规则访问不同目录中的网络资源。
另外,也可根据网站中的文件类型制定以下几个访问规则。如表2所示。
表2
访问规则(省略了服务器的标识) |
说明 |
(.[t|T][x|X][t|T])$ |
所有txt(不区分大小写)的文本资源 |
(.[j|J][p|P][g|G])$ |
所有jpg(不区分大小写)的图片资源 |
由表2可以看出,不同的文件类型用不同的访问规则来表示,从而使得用户终端可根据不同的访问规则访问不同文件类型的网络资源。
设置完访问规则后,可将设置的访问规则设置在网站的页面上,以便用户终端在页面上选择这些访问规则,并将这些访问规则与该用户关联起来,这样该用户就拥有了相应的访问规则组。
也可将一条或多条访问规则放入一个访问规则组。设置完访问规则组后,可将访问规则组设置在网站的页面上,以便用户终端在页面上选择这些访问规则组,并将这些访问规则组与该用户关联起来,这样该用户就拥有了相应的访问规则组。
可将访问规则组分为两种类型:限制访问规则组,用于表示某些网络资源只允许某些特定的用户访问;公共访问规则组,用于表示某些网络资源允许所有的网络用户访问。这样,任意一个访问规则属于这两种类型中的一种。表3示出了不同类型的访问规则组。
表3
规则组类型 |
规则组名称 |
规则 |
限制访问规则组 |
200604 |
/gzrb/html/2006-04/*(.[t|T][x|X][t|T])$ |
公共访问规则组 |
频道首页 |
/gzrb/html/2006-04/18/node_4105.htm |
由表1和图1中可以看出,当网络资源按树形结构组织时,公共访问规则组可设置在叶子节点上。
为了控制用户访问不同的网络资源,在网络服务器上可设置两个表将访问规则与用户终端关联起来:访问规则组表和用户与访问规则组映射表。访问规则组表中包含访问规则组名称、访问规则描述和该规则组所包含的若干条访问规则,用户与访问规则组映射表中记录了用户名和该用户对应的访问规则组。
下面参照图2描述本发明的实施例1。
步骤1、当用户访问网站的网络资源时,网站服务器的接收模块接收用户终端发出的访问网络请求消息,所述的访问网络请求消息包括用户名和访问网络资源的URL地址。
步骤2、将访问网络资源的URL地址与公共访问规则组中的访问规则进行匹配,如果匹配成功,执行步骤3:允许用户访问该URL地址,否则,执行步骤4。
步骤4、根据用户名从用户与规则组映射表中查找该用户对应的限制访问规则组。
步骤5、将访问网络资源的URL地址与限制访问规则组中的访问规则进行匹配,如果匹配成功,执行步骤7:允许用户访问该URL地址,否则,执行步骤6:禁止用户访问该URL地址。
如图3所示,本发明还公开了一种网络资源访问控制模块,包括:接收单元,用于接收网络资源访问请求信息;控制单元,用于根据访问规则组对网络资源访问请求信息进行验证以控制网络资源访问,所述的访问规则组包括至少一条访问规则;数据存储单元,用于存储访问规则组。
如图4所示,本发明还公开了一种服务器,所述的服务器包括网络资源访问控制模块,所述的网络资源访问控制模块包括:接收单元,用于接收网络资源访问请求信息;控制单元,用于根据访问规则组对网络资源访问请求信息进行验证以控制网络资源访问,所述的访问规则组包括至少一条访问规则;数据存储单元,用于存储访问规则组。
根据本发明,可根据不同资源设定不同的访问规则,通过设定的访问规则来访问其所对应的网络资源,从而实现对各个用户不同粒度、不同类型资源访问控制。
虽然通过实施例描绘了本发明,但本领域普通技术人员知道,在不脱离本发明的精神和实质的情况下,就可使本发明有许多变形和变化,本发明的范围由所附的权利要求来限定。