一种给静态页面添加访问控制的方法及系统技术方案

技术编号:26222910 阅读:28 留言:0更新日期:2020-11-04 10:54
本发明专利技术提供的一种给静态页面添加访问控制的方法及系统,包括方法包括以下步骤:(1)将静态页面资源放到web服务器能访问的存储设备中,每个资源文件夹统一用唯一的uuid来命名并且首页文件名统一命名为index.html;(2)web服务新增所述资源的访问接口,接口参数包括用户唯一标识和资源唯一标识;(3)进行服务端权限配置;(4)客户端向服务端发出资源请求,资源请求包括所述接口参数和资源文件uuid;(5)服务端读取Cookie,判断是否有访问权限,如果有访问权限,则获取资源信息,读取文件流。本发明专利技术利用浏览器客户端的页面请求机制将子资源请求进行拦截后将本地资源文件流响应给浏览器来达到在不修改原有资源页面的前提下达到添加访问控制的目的。

【技术实现步骤摘要】
一种给静态页面添加访问控制的方法及系统
本专利技术属于数字教育
,具体涉及一种给静态页面添加访问控制的方法及系统。
技术介绍
很多资源都是以html静态页面的形式存在的,这就面临着匿名用户是否可以访问的问题,关于如何使得在不修改原有资源页面的前提下达到添加访问控制的目的,目前通用解决方案主要有以下两种:1.Java服务器页面(JSP,JavaServerPages)技术,即通过向静态页面中添加权限判断的js代码来在客户端请求服务器接口实现验证和跳转,此方案适用于课件资源比较少的情况。上述方法的缺点主要有以下两点:需要将每个资源页面都添加上权限验证代码特别是一些自动生成的静态页面,其工作量巨大;客户端做权限限制安全性低。2.通过url路径匹配来排除静态资源的拦截,此种方式需要把静态资源一同部署在web服务器上并且局限在一个或有限的几个目录来方便url匹配,适用于同一资源被所有用户访问都显示相同效果的场景。上述方法的缺点主要有以下两点:静态页面需要单独依赖一个web服务;同一资源不能根据不同用户展示不同的效果。基于现有技术中存在的缺陷,有必要专利技术了一种给静态页面添加访问控制的方法及系统以解决上述问题。
技术实现思路
针对现有技术中存在的缺陷,本专利技术的目的是提供一种给静态页面添加访问控制的方法及系统将权限验证设定在服务器端并且不需要修改静态页面文件就能访问。为达到以上目的,本专利技术采用的技术方案是:一种给静态页面添加访问控制的方法,包括:<br>(1)将静态页面资源放到web服务器能访问的存储设备中,每个资源文件夹统一用唯一的uuid来命名并且首页文件名统一命名为index.html;(2)web服务新增所述资源的访问接口,接口参数包括用户唯一标识和资源唯一标识;(3)进行服务端权限配置;(4)客户端向服务端发出资源请求,资源请求包括所述接口参数和资源文件uuid;(5)服务端读取Cookie,判断是否有访问权限,如果有访问权限,则获取资源信息,读取文件流。进一步的,所述静态页面资源包括:index.html文件、javascript文件、css样式文件、video文件、audio文件和image文件中的至少一种。进一步的,所述步骤(3)中具体包括:当原有权限控制体系能满足需求时,利用原有的权限控制体系配置用户对资源的访问权限;当原有权限体系不支持或者需求上资源权限控制可以独立于原有的权限体系时,在新增接口中添加权限判断。进一步的,步骤(5)中所述服务端读取Cookie,判断是否有访问权限具体包括:服务端读取Cookie,将所述用户名与所述访问权限进行匹配,如能匹配则有访问权限。进一步的,步骤(5)中所述如果有访问权限,则获取资源信息,读取文件流具体包括:如果有访问权限,则判断所述Cookie中是否存在资源唯一标识;如不存在资源标识,则根据传入的资源唯一标识到数据库中查找资源所在目录名,根据结果到所述存储设备中读取约定的资源首页文件流并将资源标识和目录名称写入Cookie中;如存在资源标识,则在所述Cookie中取出请求资源的目录名并在Request对象中获取请求的子资源文件的相对路径,根据路径到所述存储设备中读取文件流并返回。进一步的,步骤(5)中在判断是否有访问权限前,所述方法还包括:服务端读取Cookie,判断是否为第一次请求资源;如果为第一次请求资源,则查询访问权限,设置Cookie并且返回index.html文件流;如果不是第一次请求资源,则根据上次请求记录,直接获取资源信息。为达到以上目的,本专利技术采用的技术方案是:一种给静态页面添加访问控制的系统,所述系统包括客户端、服务端以及web服务器能访问的存储设备,所述系统还包括原有权限控制体系,所述权限控制体系用于配置用户对资源的访问权限;所述存储设备存储有静态页面资源,每个资源文件夹统一用唯一的uuid来命名并且首页文件名统一命名为index.html,web服务为所述资源设有访问接口,接口包括用户标识和资源标识;客户端用于向服务端发出资源请求,资源请求包括所述接口参数和资源文件uuid;服务端进行权限配置,且还用于读取Cookie,判断是否有访问权限,如果有访问权限,则获取资源信息,读取文件流。进一步的,所述服务端进行权限配置具体包括:当系统通过配置原有权限控制体系能满足需求时,利用原有的权限控制体系配置用户对资源的访问权限,将所述用户名与所述访问权限进行匹配;当原有系统权限体系不支持或者需求上资源权限控制可以独立于原有的权限体系,在新增接口中添加权限判断。进一步的,所述服务端用于读取Cookie,判断是否有访问权限具体包括:服务端读取Cookie,将所述用户名与所述访问权限进行匹配,如能匹配则有访问权限。进一步的,当有访问权限时,所述服务端还用于判断所述Cookie中是否存在资源唯一标识;如不存在资源唯一标识,则根据传入的资源唯一标识到数据库中查找资源所在目录名,根据结果到所述存储设备中读取约定的资源首页文件流并将资源唯一标识和目录名称写入Cookie中;如存在资源唯一标识,则在所述Cookie中取出请求资源的目录名并在Request对象中获取请求的子资源文件的相对路径,根据路径到所述存储设备中读取文件流并返回给客户端。进一步的,所述服务端在读取Cookie时,还用于判断是否为第一次请求资源;如果为第一次请求资源,查询访问权限,设置Cookie并返回index.html文件流;如果不是第一次请求资源,则根据上次请求记录,直接获取资源信息。本专利技术的效果在于,本专利技术提供的一种给静态页面添加访问控制的方法及系统,利用浏览器客户端的页面请求机制将子资源请求进行拦截后将本地资源文件流响应给浏览器来达到在不修改原有资源页面的前提下达到添加访问控制的目的。附图说明图1为本专利技术所述方法的流程示意图;图2本专利技术所述系统的结构示意图。具体实施方式为使本专利技术解决的技术问题、采用的技术方案和达到的技术效果更加清楚,下面将结合附图对本专利技术实施例的技术方案作进一步的详细描述。显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,均属于本专利技术保护的范围。参阅图1,图1为本专利技术所述方法的流程示意图。本专利技术所提供的方法包括以下步骤:步骤101:将静态页面资源放到web服务器能访问的存储设备中,每个资源文件夹统一用唯一的uuid来命名并且首页文件名统一命名为index.html。在一个具体的实施例中,存储设备可以为阿里云OSS。可以约定将所有资源统一存放到阿里云OSS的Resources目录下,每个资源文件夹统一用唯本文档来自技高网...

【技术保护点】
1.一种给静态页面添加访问控制的方法,其特征在于,所述方法包括以下步骤:/n(1)将静态页面资源放到web服务器能访问的存储设备中,每个资源文件夹统一用唯一的uuid来命名并且首页文件名统一命名为index.html;/n(2)web服务新增所述资源的访问接口,接口参数包括用户唯一标识和资源唯一标识;/n(3)进行服务端权限配置;/n(4)客户端向服务端发出资源请求,资源请求包括所述接口参数和资源文件uuid;/n(5)服务端读取Cookie,判断是否有访问权限,如果有访问权限,则获取资源信息,读取文件流。/n

【技术特征摘要】
1.一种给静态页面添加访问控制的方法,其特征在于,所述方法包括以下步骤:
(1)将静态页面资源放到web服务器能访问的存储设备中,每个资源文件夹统一用唯一的uuid来命名并且首页文件名统一命名为index.html;
(2)web服务新增所述资源的访问接口,接口参数包括用户唯一标识和资源唯一标识;
(3)进行服务端权限配置;
(4)客户端向服务端发出资源请求,资源请求包括所述接口参数和资源文件uuid;
(5)服务端读取Cookie,判断是否有访问权限,如果有访问权限,则获取资源信息,读取文件流。


2.根据权利要求1所述一种给静态页面添加访问控制的方法,其特征在于,所述静态页面资源包括:index.html文件、javascript文件、css样式文件、video文件、audio文件和image文件中的至少一种。


3.根据权利要求1所述一种给静态页面添加访问控制的方法,其特征在于,所述步骤(3)中具体包括:
当原有权限控制体系能满足需求时,利用原有的权限控制体系配置用户对资源的访问权限;
当原有权限体系不支持或者需求上资源权限控制可以独立于原有的权限体系时,在新增接口中添加权限判断。


4.根据权利要求1所述一种给静态页面添加访问控制的方法,其特征在于,步骤(5)中所述服务端读取Cookie,判断是否有访问权限具体包括:
服务端读取Cookie,将所述用户名与所述访问权限进行匹配,如能匹配则有访问权限。


5.根据权利要求1所述一种给静态页面添加访问控制的方法,其特征在于,步骤(5)中所述如果有访问权限,则获取资源信息,读取文件流具体包括:
如果有访问权限,则判断所述Cookie中是否存在资源唯一标识;
如不存在资源标识,则根据传入的资源唯一标识到数据库中查找资源所在目录名,根据结果到所述存储设备中读取约定的资源首页文件流并将资源标识和目录名称写入Cookie中;
如存在资源标识,则在所述Cookie中取出请求资源的目录名并在Request对象中获取请求的子资源文件的相对路径,根据路径到所述存储设备中读取文件流并返回。


6.根据权利要求1所述一种给静态页面添加访问控制的方法,其特征在于,步骤(5)中在判断是否有访问权限前,所述方法还包括:
服务端读取Cookie,判断是否为第一次请求资源;
如果为第一次请求资源,则查询访问权限,设置Cooki...

【专利技术属性】
技术研发人员:王英磊唐耀珺
申请(专利权)人:明博教育科技股份有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1