资源访问控制方法、系统和设备
技术领域
本发明涉及IP通信领域,尤其涉及一种资源访问控制方法、系统和设备。
背景技术
阿帕奇(Apache)是当前使用最为广泛的万维网(WWW)服务器软件,具有相当强大的静态超文本标记语言(HTML)处理的能力。Tomcat是Sun和Apache合作做出来的JSP服务器(JSP Server),Tomcat目前已经成为Apache主要的Servlet和JSP的引擎。Tomcat在设计上是以独立的服务器执行。
Apache和Tomcat都可以作为独立的互联网(WEB)服务器来用,Apache功能强大、高效,但并不能支持JSP及servlet。Tomcat在处理静态页面时,不如Apache迅速和强壮,不像Apache一样可配置。基于以上原因,一个现实的网站使用一个Apache作为Web服务器,为网站的静态页面请求提供服务;并使用Tomcat服务器作为一个Servlet/JSP插件,显示网站的动态页面。
这种组合可以很好的发挥出各自服务器的优势。在处理资源访问控制的应用场合下,可以通过Apache配置文件进行Web页面访问权限控制。具体包括如下几个步骤:
步骤一:修改配置文件http.conf。
假设要控制/usr/local/Apache/htdocs下各目录的不同访问权限,可以在<Directory"/usr/local/Apache/htdocs">与</Directory>之间加入如下代码:
Allow Override All
上述代码表示在/usr/local/Apache/htdocs下不同目录的访问权限由该目录下的.htAccess文件来控制,而且不同目录的权限策略可互相覆盖。
步骤二:编辑想要进行访问权限控制的目录下的.htaccess文件。
假设PHPmyadmin目录在/usr/local/Apache/htdocs下,可以在phpmyadmin目录下创建一个.htaccess文件,该文件的内容如下:
AuthUserFile/usr/local/Apache/pass/pwdPhp//用户信息存放在/usr/local/Apache/pass/pwdPhp中;
AuthType Basic//认证类型为基本型;
AuthName"Database Security Zone"
ErrorDocument 401/catchErrors/err_401.html//出错时返回的错误文件为catchErrors/err_401.html;
<Limit GET POST>
require valid-user//认证方式为用户认证(valid-user);
</Limit>
步骤三:生成用户密码文件。
使用在/usr/local/Apache/bin下的用户密码生成程序:htpasswd(),可以加入用户密码信息到指定的文件中,如/usr/local/Apache/pass/pwdPhp。例如,用户密码文件内容如下:
admin:a0Hplbj33QjV2//用户名为admin,权限验证密码为
a0Hplbj33QjV2;
guest:R0BYSO383QjVT//用户名为guest,权限验证密码为
R0BYSO383QjVT。
步骤四:重起Apache deamon。
重起Apache服务器所使用的命令为:/usr/local/apche/bin/Apachectl restart。
步骤五:测试。
用户使用IE浏览需要进行访问权限控制的页面,如http://ip/phpmyadmin/,这时出现身份认证窗口,用户通过该窗口输入用户名和密码;
Apache服务器接收到访问phpmyadmin目录下的数字资源的请求,找到目录phpmyadmin下的.htaccess文件,按照该文件记录的用户信息存放地址获取到用户信息,包括用户名和密码,将获取到的用户信息与用户在身份认证窗口输入的用户名和密码进行比对,若比对结果一致,则向用户返回phpmyadmin目录下的数字资源,否则,向用户返回.htaccess文件中指示的错误文件。
在实现本发明的过程中,发明人发现现有技术中存在以下技术问题:
上述对资源进行访问控制的方法有着很大的局限性,因为Apache服务器所提供的访问控制机制,只能支持对目录文件中的数字资源进行访问控制,不能对更小粒度的资源进行访问控制;在进行访问控制时只能通过用户信息认证的方式实现,权限控制方式较单一。
发明内容
本发明实施例提供一种资源访问控制方法、系统和设备,用于提高对资源访问进行控制的灵活度。
一种资源访问控制方法,该方法包括:
阿帕奇Apache服务器接收用户发来的资源访问请求,所述资源访问请求是对静态数字资源或其他具有不同资源属性的资源的访问请求,并将该资源访问请求转发给Tomcat服务器;
所述Tomcat服务器接收所述资源访问请求,获取所述资源访问请求中携带的资源属性的信息;根据预先为具有所述资源属性的资源配置在Tomcat服务器资源访问权限配置文件中的权限描述信息,验证所述用户是否具有访问所述资源属性的资源的权限,并将验证结果返回给所述Apache服务器;
所述Apache服务器接收所述验证结果,根据所述验证结果,将所述资源返回给所述用户或拒绝所述用户访问所述资源。
一种资源访问控制系统,该系统包括:
阿帕奇Apache服务器,用于接收用户发来的资源访问请求,所述资源访问请求是对静态数字资源或其他具有不同资源属性的资源的访问请求,并将该资源访问请求转发给Tomcat服务器;根据所述Tomcat服务器返回的验证结果,将所述资源返回给所述用户或拒绝所述用户访问所述资源;
Tomcat服务器,用于获取所述资源访问请求中携带的资源属性的信息,根据预先为具有所述资源属性的资源配置在Tomcat服务器资源访问权限配置文件中的权限描述信息,验证所述用户是否具有访问所述资源属性的资源的权限,并将验证结果返回给Apache服务器。
一种阿帕奇Apache服务器,该Apache服务器包括:
请求接收单元,用于接收用户发来的资源访问请求,所述资源访问请求是对静态数字资源或其他具有不同资源属性的资源的访问请求;
请求转发单元,用于将所述资源访问请求转发给Tomcat服务器,以使Tomcat服务器获取所述资源访问请求中携带的资源属性的信息,根据预先为具有所述资源属性的资源配置在Tomcat服务器资源访问权限配置文件中的权限描述信息,验证所述用户是否具有访问所述资源属性的资源的权限;
资源响应单元,用于根据所述Tomcat服务器返回的所述用户是否具有访问具有所述资源属性的资源的权限的验证结果,将所述资源返回给所述用户或拒绝所述用户访问所述资源。
一种Tomcat服务器,该Tomcat服务器包括:
请求接收单元,用于接收阿帕奇Apache服务器转发的用户发出的资源访问请求,所述资源访问请求是对静态数字资源或其他具有不同资源属性的资源的访问请求;
权限验证单元,用于获取所述资源访问请求中携带的资源属性的信息,根据预先为具有所述资源属性的资源配置在Tomcat服务器资源访问权限配置文件中的权限描述信息,验证所述用户是否具有访问所述资源属性的资源的权限;
结果反馈单元,用于将所述权限验证单元的验证结果返回给Apache服务器。
本发明中,可以根据需要预先为具有一定资源属性的资源配置权限描述信息,在接收到用户发来的携带用户需要访问资源的资源属性信息的资源访问请求时,可以根据预先配置的权限描述信息验证该用户是否具有访问具有该资源属性的资源的权限;与现有技术中只能对静态资源访问请求(例如URL请求)所指向的目录文件中的资源进行访问控制相比,本发明中能够对具有不同资源属性的资源进行访问控制,也即可以对更小粒度的资源进行访问控制。
同时,与现有技术中只能通过用户信息认证的方式进行访问控制相比,本发明中可以自定义权限描述信息,即可以通过配置权限描述信息,根据需要为具有一定资源属性的资源设置不同的访问权限,所以,本发明中进行访问控制的方式具有多样性。
综上,本发明提高了对资源进行访问控制的灵活性。
附图说明
图1为本发明实施例提供的方法流程示意图;
图2为本发明实施例提供的系统结构示意图;
图3为本发明实施例提供的资源服务器结构示意图;
图4为本发明实施例提供的权限验证服务器结构示意图;
图5为本发明实施例提供的资源服务器结构示意图。
具体实施方式
为了提高对资源访问进行控制的灵活度,本发明实施例提供一种资源访问控制方法,本方法中,在接收到用户发来的资源访问请求后,获取该资源访问请求中携带的资源属性的信息,验证该用户是否具有访问具有该资源属性的资源的权限,并根据验证结果决定是否将请求的资源返回给用户。
参见图1,本发明实施例提供的资源访问控制方法,具体包括以下步骤:
步骤10:接收用户发来的资源访问请求;该资源访问请求可以是对静态数字资源或其他具有不同资源属性的资源的访问请求;静态数字资源可以为HTML资源等任何以静态形式存储的数字资源。
步骤11:获取资源访问请求中携带的资源属性的信息,根据预先为具有该资源属性的资源配置的权限描述信息,验证用户是否具有访问该资源的权限;这里,资源属性是指资源本身所具有的或外界赋予该资源的特征,例如,资源标识(ID)为外界赋予该资源的用于标识该资源的属性,资源的发布时间为该资源本身所具有的属性。
步骤12:根据验证结果,将资源访问请求所请求的资源返回给用户或拒绝用户访问该资源。
上述方法具体实现可以有以下两种方式:
方式一:
步骤101:资源服务器接收用户发来的资源访问请求,所述资源访问请求是对静态数字资源或其他具有不同资源属性的资源的访问请求,并将该资源访问请求转发给权限验证服务器;
步骤111:权限验证服务器获取资源访问请求中携带的资源属性的信息,根据预先为具有该资源属性的资源配置的权限描述信息,验证该用户是否具有访问该资源的权限,并将验证结果返回给资源服务器;
步骤121:资源服务器根据验证结果,将资源访问请求所请求的资源返回给用户或拒绝用户访问该资源。
较佳的,资源服务器在接收到用户发来的资源访问请求之后、并且将该资源访问请求转发给权限验证服务器之前,资源服务器确定接收到的资源访问请求是否是需要进行权限控制的访问请求;若确定为是,则将该资源访问请求转发给权限验证服务器;否则,不将该资源访问请求转发给权限验证服务器,而是按照正常的资源访问流程进行处理,例如,获取该资源访问请求所请求的资源,并将该资源返回给用户。
上述资源服务器确定资源访问请求是否是需要进行权限控制的访问请求,其具体实现方法可以如下:
资源服务器将资源访问请求的格式与预先设置的资源访问请求格式进行匹配,若匹配结果一致,则确定资源访问请求是需要进行权限控制的访问请求,否则,确定资源访问请求不是需要进行权限控制的访问请求。
方式二:
步骤102:资源服务器接收用户发来的资源访问请求,所述资源访问请求是对静态数字资源或其他具有不同资源属性的资源的访问请求;
步骤112:资源服务器获取资源访问请求中携带的资源属性的信息,根据预先为具有该资源属性的资源配置的权限描述信息,验证该用户是否具有访问该资源的权限;
步骤122:资源服务器根据验证结果,将资源访问请求所请求的资源返回给用户或拒绝用户访问该资源。
在方式一和方式二中,根据预先配置的权限描述信息验证用户是否具有访问资源的权限,其具体实现可以如下:
首先,在资源访问权限配置文件中,查找资源访问请求中携带的资源属性的信息所对应的访问权限描述信息;
然后,根据查找到的访问权限描述信息,确定访问具有所述资源属性的资源所需要满足的条件;
最后,确定发出资源访问请求的用户是否满足所述条件,若是,则验证该用户具有访问具有所述资源属性的资源的权限;否则,验证该用户不具有访问具有所述资源属性的资源的权限。
这里,可以根据用户输入的信息或者记录的用户信息,确定用户是否满足所述条件。在根据记录的用户的信息,确定用户是否满足所述条件之前,可以将用户访问所述资源所需要满足的条件提示给用户;在用户满足访问所述资源所需要的全部条件时,记录该用户满足访问条件的信息,在用户满足访问所述资源所需要的部分条件或不满足访问所述资源所需要的任何一个条件时,记录该用户不满足访问条件的信息或不记录该用户是否满足访问条件的信息。
例如,在所述条件为用户输入了正确的验证码时,可以提示用户输入屏幕上显示的验证码,并判断用户输入的验证码是否正确,若是,则确定用户满足所述条件,否则,确定用户不满足所述条件。
再例如,提示用户访问某一资源所需要满足的条件为:用户等级不小于B级;用户通过累积积分等级升到B级后,记录该用户满足访问该资源的条件的信息。后续接收到用户发来的对该资源的访问请求后,根据记录的信息确定该用户满足访问该资源所需要的条件。
当然,还可以根据其他信息来确定用户是否满足所述条件,例如,若该条件为资源访问时间在某一时间段内,则可以根据接收到资源访问请求的时间来确定用户是否满足该条件;又例如,若该条件为访问资源的用户的IP地址在某一IP地址段内,则可以根据发出资源访问请求的设备的IP地址来确定用户是否满足该条件。
在方式一和方式二中,资源服务器根据验证结果,将资源返回给用户或拒绝用户访问资源,具体实现可以如下:
在验证结果为用户具有访问具有所述资源属性的资源的权限时,将该资源返回给用户;在验证结果为用户不具有访问具有所述资源属性的资源的权限时,拒绝用户访问该资源,并向用户返回错误信息。
本发明中,资源服务器可以为WEB静态服务器等任何具有向用户提供访问资源的功能的服务器,WEB静态服务器是指存储有静态数字资源并能够处理静态数字资源请求的服务器,WEB静态服务器包括存储有HTML资源并能够处理HTML资源请求的服务器,该服务器包括Apache服务器等。权限验证服务器可以为WEB应用服务器等任何具有资源访问控制功能的服务器,WEB应用服务器包括运行有JSP程序的服务器、运行有PHP程序的服务器、运行有ASP程序的服务器等,运行有JSP程序的服务器包括Tomcat服务器等。
下面结合具体实施例对本发明进行说明:
实施例一:
本实施例中,在基于J2EE技术的企业应用系统中,同时使用Apache服务器和Tomcat服务器。本实施例需要预先在Tomcat服务器配置资源访问权限配置文件以及在Apache服务器中安装过滤模块插件;下表是在资源访问权限配置文件中配置的报纸资源属性信息和对应的权限描述信息的一个实例:
上表中,<Asset>标签中是数字资源的属性描述信息,包括报纸的标识(CnmlID)、报纸的发布时间(PublishTime)。<permission>标签中定义了访问CnmlID为n.8610rmrb、发布时间在2010-03-28与2010-05-08之间的报纸,需要具备的条件:访问时间在2010-03-28与2010-05-08之间。通过上表将数字资源和访问权限关联起来,构成了数字资源访问控制的依据。
在Apache服务器中安装过滤模块插件时,利用Apache服务器提供的插件机制,在Apache服务器的过滤器流中增加一个过滤模块插件。该过滤模块插件用于在接收到用户发来的资源访问请求之后,确定资源访问请求是否是需要进行权限控制的访问请求,若确定为是,则将该资源访问请求和请求属性等信息(例如用户)转发给Tomcat服务器,等待Tomcat服务器的验证结果。通过添加过滤模块插件,实现了对资源请求转发的功能。
本实施例的具体流程如下:
步骤S01:Apache服务器中的过滤模块接收到用户发来的统一资源定位(URL)请求,将URL请求的格式与预先设置的URL请求格式进行匹配,若匹配结果一致,则将该URL请求转发给权限验证服务器的管理模块,到步骤S02,否则,按照正常的资源访问流程进行处理;
步骤S02:权限验证服务器的管理模块获取URL请求中携带的资源属性的信息,在资源访问权限配置文件中,查找该资源属性的信息所对应的访问权限描述信息;根据查找到的访问权限描述信息,确定访问具有该资源属性的资源所需要满足的条件;确定发出静态资源访问请求的用户是否满足该条件,若是,则验证该用户具有访问具有该资源的权限;否则,验证该用户不具有访问该资源的权限。并将验证结果返回给Apache服务器。
步骤S03:Apache服务器接收到验证结果后,如果验证结果为用户具有访问资源的权限,则将相应的资源返回给用户;如果验证结果为用户不具有访问资源的权限,则将用户本次请求置为无权限请求,返回无权限错误页面,以拒绝数字资源访问。
通过本实施例,可以控制用户在何时访问哪些报纸。通过重新配置资源属性描述信息,还可以对资源的访问控制精确至某一天的报纸中的某一个版面。
本实施例中针对资源属性设置权限描述信息,从而可以对具有不同资源属性的资源分别设置不同权限描述信息,进而可以对最小粒度的资源进行访问控制,同时也保证了能够根据实际需要自定义资源的访问权限。资源的细粒度描述使得资源可以随意组合定义,权限的自定义描述使得本权限描述方法能够适用于任何新闻数字资源的权限描述。
实施例二:
本实施例中,在基于Apache和PHP技术的web应用系统中,Apache服务器可以将静态资源请求转发给PHP程序处理,其过程与实施例一类似。本实施例需要预先在运行有PHP程序的服务器配置资源访问权限配置文件以及在Apache服务器中安装过滤模块插件,资源访问权限配置文件的具体配置方法和过滤模块插件的安装方法同实施例一,这里不再赘述。
本实施例的具体流程如下:
步骤S11:Apache服务器中的过滤模块接收到用户发来的统一资源定位(URL)请求,将URL请求的格式与预先设置的URL请求格式进行匹配,若匹配结果一致,则将该URL请求转发给运行有PHP程序的服务器,到步骤S12,否则,按照正常的资源访问流程进行处理;
步骤S12:运行有PHP程序的服务器的管理模块获取URL请求中携带的资源属性的信息,在资源访问权限配置文件中,查找该资源属性的信息所对应的访问权限描述信息;根据查找到的访问权限描述信息,确定访问具有该资源属性的资源所需要满足的条件;确定发出静态资源访问请求的用户是否满足该条件,若是,则验证该用户具有访问具有该资源的权限;否则,验证该用户不具有访问该资源的权限。并将验证结果返回给Apache服务器。
步骤S13:Apache服务器接收到验证结果后,如果验证结果为用户具有访问资源的权限,则将相应的资源返回给用户;如果验证结果为用户不具有访问资源的权限,则将用户本次请求置为无权限请求,返回无权限错误页面,以拒绝数字资源访问。
实施例三:
本实施例应用在Apache和ASP技术的web应用系统中,Apache服务器可以将静态资源请求转发给ASP程序处理,其过程与JAVA程序类似。本实施例需要预先在运行有ASP程序的服务器配置资源访问权限配置文件以及在Apache服务器中安装过滤模块插件,资源访问权限配置文件的具体配置方法和过滤模块插件的安装方法同实施例一,这里不再赘述。
本实施例的具体流程如下:
步骤S21:Apache服务器中的过滤模块接收到用户发来的统一资源定位(URL)请求,将URL请求的格式与预先设置的URL请求格式进行匹配,若匹配结果一致,则将该URL请求转发给运行有ASP程序的服务器,到步骤S22,否则,按照正常的资源访问流程进行处理;
步骤S22:运行有ASP程序的服务器的管理模块获取URL请求中携带的资源属性的信息,在资源访问权限配置文件中,查找该资源属性的信息所对应的访问权限描述信息;根据查找到的访问权限描述信息,确定访问具有该资源属性的资源所需要满足的条件;确定发出静态资源访问请求的用户是否满足该条件,若是,则验证该用户具有访问具有该资源的权限;否则,验证该用户不具有访问该资源的权限。并将验证结果返回给Apache服务器。
步骤S23:Apache服务器接收到验证结果后,如果验证结果为用户具有访问资源的权限,则将相应的资源返回给用户;如果验证结果为用户不具有访问资源的权限,则将用户本次请求置为无权限请求,返回无权限错误页面,以拒绝数字资源访问。
参见图2,本发明实施例还提供一种资源访问控制系统,该系统包括:
资源服务器30,用于接收用户发来的资源访问请求,所述资源访问请求是对静态数字资源或其他具有不同资源属性的资源的访问请求,并将该资源访问请求转发给权限验证服务器;根据所述权限验证服务器返回的验证结果,将所述资源返回给所述用户或拒绝所述用户访问所述资源;
权限验证服务器31,用于获取所述资源访问请求中携带的资源属性的信息,根据预先为具有该资源属性的资源配置的权限描述信息,验证该用户是否具有访问该资源的权限,并将验证结果返回给资源服务器。
进一步,所述资源服务器30具体可用于:
在接收到所述资源访问请求后,确定所述资源访问请求是否是需要进行权限控制的访问请求;在确定为是时,将该资源访问请求转发给权限验证服务器。
进一步,所述资源服务器30具体可用于:
将所述资源访问请求的格式与预先设置的资源访问请求格式进行匹配,若匹配结果一致,则确定所述资源访问请求是需要进行权限控制的访问请求,否则,确定所述资源访问请求不是需要进行权限控制的访问请求。
进一步,所述权限验证服务器31具体可用于:
在资源访问权限配置文件中查找所述资源属性的信息对应的访问权限描述信息;
根据所述访问权限描述信息确定访问具有所述资源属性的资源所需要满足的条件;
确定所述用户是否满足所述条件,若是,则验证所述用户具有访问具有所述资源属性的资源的权限;否则,验证所述用户不具有访问具有所述资源属性的资源的权限。
进一步,所述权限验证服务器31具体可用于:
根据所述用户输入的信息,确定所述用户是否满足所述条件;或者,
根据记录的用户信息,确定所述用户是否满足所述条件。
进一步,所述权限验证服务器31还可用于:
在根据记录的用户信息,确定所述用户是否满足所述条件之前,将用户访问所述资源所需要满足的条件提示给用户;
在用户满足访问所述资源所需要的部分或全部条件时,记录所述用户满足访问条件的信息。
进一步,所述资源服务器30具体可用于:
在所述验证结果为所述用户具有访问具有所述资源属性的资源的权限时,将所述资源返回给所述用户;在所述验证结果为所述用户不具有访问具有所述资源属性的资源的权限时,拒绝所述用户访问所述资源,并向所述用户返回错误信息。
参见图3,本发明实施例还提供一种资源服务器,可以应用于资源访问控制系统中,该资源服务器包括:
请求接收单元40,用于接收用户发来的资源访问请求,所述资源访问请求是对静态数字资源或其他具有不同资源属性的资源的访问请求;
请求转发单元41,用于将所述资源访问请求转发给权限验证服务器;
资源响应单元42,用于根据所述权限验证服务器返回的所述用户是否具有访问具有所述资源属性的资源的权限的验证结果,将所述资源返回给所述用户或拒绝所述用户访问所述资源。
进一步,所述请求转发单元41具体可用于:
确定所述资源访问请求是否是需要进行权限控制的访问请求;在确定为是时,将该资源访问请求转发给权限验证服务器。
进一步,所述请求转发单元41具体可用于:
将所述资源访问请求的格式与预先设置的资源访问请求格式进行匹配,若匹配结果一致,则确定所述资源访问请求是需要进行权限控制的访问请求,否则,确定所述资源访问请求不是需要进行权限控制的访问请求。
进一步,所述资源响应单元42具体可用于:
在所述验证结果为所述用户具有访问具有所述资源属性的资源的权限时,将所述资源返回给所述用户;在所述验证结果为所述用户不具有访问具有所述资源属性的资源的权限时,拒绝所述用户访问所述资源,并向所述用户返回错误信息。
进一步,所述资源服务器为:WEB静态服务器。
参见图4,本发明实施例还提供一种权限验证服务器,可以应用于资源访问控制系统中,该权限验证服务器包括:
请求接收单元50,用于接收资源服务器转发的用户发出的资源访问请求,所述资源访问请求是对静态数字资源或其他具有不同资源属性的资源的访问请求;
权限验证单元51,用于获取所述资源访问请求中携带的资源属性的信息,根据预先为具有该资源属性的资源配置的权限描述信息,验证该用户是否具有访问该资源的权限;
结果反馈单元52,用于将所述权限验证单元的验证结果返回给资源服务器。
进一步,所述权限验证单元51具体可包括:
权限描述信息查找单元,用于在资源访问权限配置文件中查找所述资源属性的信息对应的访问权限描述信息;
条件确定单元,用于根据所述访问权限描述信息确定访问具有所述资源属性的资源所需要满足的条件;
验证结果单元,用于确定所述用户是否满足所述条件,若是,则验证所述用户具有访问具有所述资源属性的资源的权限;否则,验证所述用户不具有访问具有所述资源属性的资源的权限。
进一步,所述条件确定单元具体可用于:
根据所述用户输入的信息,确定所述用户是否满足所述条件;或者,
根据记录的用户信息,确定所述用户是否满足所述条件。
进一步,该权限验证服务器还可包括:
提示单元53,用于将用户访问所述资源所需要满足的条件提示给用户;
记录单元54,用于在用户满足访问所述资源所需要的部分或全部条件时,记录所述用户满足访问条件的信息。
进一步,所述权限验证服务器为:WEB应用服务器。
参见图5,本发明实施例还提供一种资源服务器,该资源服务器包括:
请求接收单元60,用于接收用户发来的资源访问请求,所述资源访问请求是对静态数字资源或其他具有不同资源属性的资源的访问请求;
权限验证单元61,用于获取所述资源访问请求中携带的资源属性的信息,根据预先为具有该资源属性的资源配置的权限描述信息,验证该用户是否具有访问该资源的权限;
资源响应单元62,用于根据所述验证结果,将所述资源返回给所述用户或拒绝所述用户访问所述资源。
进一步,所述权限验证单元61具体可用于:
在资源访问权限配置文件中查找所述资源属性的信息对应的访问权限描述信息;
根据所述访问权限描述信息确定访问具有所述资源属性的资源所需要满足的条件;
确定所述用户是否满足所述条件,若是,则验证所述用户具有访问具有所述资源属性的资源的权限;否则,验证所述用户不具有访问具有所述资源属性的资源的权限。
综上,本发明的有益效果包括:
本发明实施例提供的方案中,接收到用户发来的资源访问请求时,所述资源访问请求是对静态数字资源或其他具有不同资源属性的资源的访问请求,获取资源访问请求中携带的资源属性的信息,根据预先为具有该资源属性的资源配置的权限描述信息,验证该用户是否具有访问该资源的权限,并根据验证结果,将资源返回给用户或拒绝用户访问所述资源。
可见,本发明中,可以根据需要预先为具有一定资源属性的资源配置权限描述信息,在接收到用户发来的携带用户需要访问资源的资源属性信息的资源访问请求时,可以根据预先配置的权限描述信息验证该用户是否具有访问具有该资源属性的资源的权限;与现有技术中只能对静态资源访问请求(例如URL请求)所指向的目录文件中的数字资源进行访问控制相比,本发明中能够对具有不同资源属性的资源进行访问控制,也即可以对更小粒度的资源进行访问控制。
同时,与现有技术中只能通过用户信息认证的方式进行访问控制相比,本发明中可以自定义权限描述信息,即可以通过配置权限描述信息,根据需要为具有一定资源属性的资源设置不同的访问权限,所以,本发明中进行访问控制的方式具有多样性。
综上,本发明提高了对资源进行访问控制的灵活性。
本发明的一个具体实施例中,资源服务器在接收用户发来的资源访问请求后,将该资源访问请求转发给权限验证服务器,由权限验证服务器验证该用户是否具有访问所请求资源的权限,并将验证结果返回给资源服务器,资源服务器根据验证结果决定是否将用户所请求的资源返回给用户。可见,该实施例中,由权限验证服务器验证用户是否具有访问所请求资源的权限,不需要对资源服务器增加权限验证功能,从而降低了资源服务器的工作负荷,进而保证了资源服务器的正常运行。
本发明的另一个具体实施例中,资源服务器接收用户发来的资源访问请求,获取资源访问请求中携带的资源属性的信息,根据预先为具有该资源属性的资源配置的权限描述信息,验证该用户是否具有访问该资源的权限,并根据验证结果,将资源访问请求所请求的资源返回给用户或拒绝用户访问该资源。可见,该实施例中,由资源服务器验证用户是否具有访问所请求资源的权限,需要在资源服务器原有的功能上增加权限验证功能,但不需要增加其他服务器进行权限验证,简化了资源访问控制的流程,同时降低了资源访问控制的实现成本。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。