CN114065068A - 一种页面访问控制方法及装置、设备、存储介质 - Google Patents
一种页面访问控制方法及装置、设备、存储介质 Download PDFInfo
- Publication number
- CN114065068A CN114065068A CN202010761862.1A CN202010761862A CN114065068A CN 114065068 A CN114065068 A CN 114065068A CN 202010761862 A CN202010761862 A CN 202010761862A CN 114065068 A CN114065068 A CN 114065068A
- Authority
- CN
- China
- Prior art keywords
- page
- target
- access
- code
- target static
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
- G06F16/972—Access to data in other repository systems, e.g. legacy data or dynamic Web page generation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/604—Tools and structures for managing or administering access control systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2141—Access rights, e.g. capability lists, access control lists, access tables, access matrices
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Bioethics (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Automation & Control Theory (AREA)
- Storage Device Security (AREA)
Abstract
本申请实施例公开了一种页面访问控制方法及装置、设备、存储介质,所述方法包括:接收到请求打开目标静态页面的访问请求后,获取所述目标静态页面的页面代码;通过所述页面代码中的第一代码,判断当前操作用户对所述目标静态页面的访问权限;根据所述当前操作用户对所述目标静态页面的访问权限,控制所述目标静态页面的显示。
Description
技术领域
本申请实施例涉及网页页面技术领域,涉及但不限于一种页面访问控制方法及装置、设备、存储介质。
背景技术
随着现代计算机网络技术的飞速发展,信息技术(Information Technology,IT)行业也由传统应用向基于互联网的网络(Web)服务模式转化,对网站的性能要求越来越高,也就是如何应对高并发量。
网站提供的页面包括动态页面和静态页面。其中,动态页面会根据不同的参数从数据库中获取不同的网页数据。网络网站中全部程序的操作都是在服务器中执行的,因此,动态网页需要占用大量的服务器资源,增加服务器内部的压力,页面加载的速度会降低。对于静态页面,服务器仅传数据给前端,并不做操作和数据库的读取,从而将前端和服务器、数据库等后端划分开,提高了页面访问速度。
静态页面中会存在一些不希望用户在浏览器中直接访问的信息,比如:一些需要进行账户登录后才能展示的存在安全隐患的信息,或通过相对路径才能展示的显示效果或信息。
相关技术中,不同权限对页面的访问控制依赖后端服务器实现,对静态页面的前后端分离的架构产生破坏,使得前端代码过度依赖后端服务器,不能实现前后端的完全分离。
发明内容
本申请实施例提供一种页面访问控制方法及装置、设备、存储介质。
本申请实施例的技术方案是这样实现的:
本申请实施例提供了一种页面访问控制方法,包括:
接收到请求打开目标静态页面的访问请求后,获取所述目标静态页面的页面代码;
通过所述页面代码中的第一代码,判断当前操作用户对所述目标静态页面的访问权限;
根据所述当前操作用户对所述目标静态页面的访问权限,控制所述目标静态页面的显示。
本申请实施例还提供了一种页面访问控制装置,包括:
获取单元,用于接收到请求打开目标静态页面的访问请求后,获取所述目标静态页面的页面代码;
判断单元,用于通过所述页面代码中的第一代码,判断当前操作用户对所述目标静态页面的访问权限;
控制单元,用于根据所述当前操作用户对所述目标静态页面的访问权限,控制所述目标静态页面的显示。
本申请实施例还提供了一种电子设备,包括处理器和用于存储能够在处理器上运行的计算机程序的存储器;其中,所述处理器用于运行所述计算机程序时,执行上述页面访问控制方法中的步骤。
本申请实施例还提供了一种存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述页面访问控制方法。
本申请实施例所提供的页面访问控制方法、装置、设备及存储介质,接收到请求打开目标静态页面的访问请求后,获取所述目标静态页面的页面代码;通过所述页面代码中的第一代码,判断当前操作用户对所述目标静态页面的访问权限;根据所述当前操作用户对所述目标静态页面的访问权限,控制所述目标静态页面的显示;如此,在访问目标静态页面时,通过目标静态页面的页面代码中的第一代码来判断用户的访问权限,以对目标静态页面的显示进行控制,从而根据用户的访问权限控制页面的显示的同时,通过页面中携带的第一代码来判断用户的访问权限,从而在进行页面访问的前端完成权限的判断,不需要借助后端服务器来进行权限的判断,实现页面显示控制过程的前后端的分离。
附图说明
图1为本申请实施例提供的页面访问系统的一种可选的结构示意图;
图2为本申请实施例提供的页面访问系统的一种可选的结构示意图;
图3为本申请实施例提供的页面访问控制方法的一种可选的流程示意图;
图4为本申请实施例提供的页面访问控制方法的一种可选的流程示意图;
图5为本申请实施例提供的页面访问控制方法的一种可选的流程示意图;
图6为本申请实施例提供的页面访问控制方法的一种可选的流程示意图;
图7为本申请实施例提供的页面访问控制装置的一种可选的结构示意图;
图8为本申请实施例提供的电子设备的一种可选的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对申请的具体技术方案做进一步详细描述。以下实施例用于说明本申请,但不用来限制本申请的范围。
本申请实施例可提供为页面访问控制方法及装置、设备和存储介质。实际应用中,页面访问控制方法可由实施于页面访问控制装置,页面访问控制中的各功能实体可以由电子设备(如终端设备)的硬件资源,如处理器等计算资源、通信资源(如用于支持实现光缆、蜂窝等各种方式通信)协同实现。
本申请实施例提供的页面访问控制方法应用于页面访问系统。
作为一示例,页面访问系统的结构可如图1所示,包括:客户端10和服务端20。客户端10和服务端20为不同的物理实体,且客户端10和服务端20之间通过网络30进行交互。客户端10和服务端20之间能够通过网络30建立连接,且客户端10能够通过所建立的连接访问服务端20上的资源。
这里,客户端10上安装有能够访问网页的浏览器或应用程序,用户通过对浏览器或应用程序的操作,向服务端20发送打开页面的访问请求,且服务端20基于接收到的访问请求向客户端10返回客户端10所请求的页面的文件。这里,页面的文件中包括该页面的页面代码。
客户端10接收到页面的文件后,通过文件中的第一代码能够判断当前操作用户的访问权限,并根据判断的访问权限控制所访问的页面的显示。
作为一示例,在图1的基础上,页面访问系统的结构可如图2所示,包括:客户端10、服务端20和开发端40。
开发端40用于进行页面的开发,并将开发的页面的文本流输出至服务端,20,并在服务端20中存储为静态文件。
其中,开发端中可包括有运行在浏览器上的批处理插件,该批处理插件能够在页面的页面代码中添加第一代码,其中,第一代码为用于进行权限判断,并根据判断的权限控制目标静态页面的显示的代码。
结合图1或图2所示的页面访问系统,本实施例提出一种页面访问控制方法,能够通过页面中携带的第一代码来判断用户的访问权限,从而在进行页面访问的前端完成权限的判断,不需要借助后端服务器来进行权限的判断,实现页面显示控制过程的前后端的分离。
下面,结合图1或图2所示的页面访问系统的示意图,对本申请实施例提供的页面访问控制方法及装置、设备和存储介质的各实施例进行说明。
本实施例提供一种页面访问控制方法,该方法应用于页面访问控制装置,其中,页面访问控制装置可实施于作为客户端的电子设备上。该方法所实现的功能可以通过电子设备中的处理器调用程序代码来实现,当然程序代码可以保存在计算机存储介质中,可见,该电子设备至少包括处理器和存储介质。
电子设备可以是任何具有信息处理能力的设备,在一种实施例中,电子设备可以是智能终端,例如可以是笔记本等具有无线通信能力的电子设备、AR/VR设备、移动终端。在另一种实施例中,电子设备还可以是不便移动的具有计算功能的终端设备,比如台式计算机、桌面电脑等。
当然,本申请实施例不局限于提供为方法和硬件,还可有多种实现方式,例如提供为存储介质(存储有用于执行本申请实施例提供的页面访问控制方法的指令)。
图3为本申请实施例的一种页面访问控制方法的实现流程示意图,如图3所示,该方法包括以下步骤:
S301、接收到请求打开目标静态页面的访问请求后,获取所述目标静态页面的页面代码。
客户端中安装有能够访问网页的浏览器或应用程序,浏览器或应用程序接收到用户的请求打开静态网页的操作,客户端基于接收到的操作接收到请求打开静态页面的访问请求。这里,该访问请求所打开的静态页面可称为目标静态页面,访问请求中携带有目标静态页面的访问路径。客户端接收到访问路径的格式可为统一资源定位符(UniformResource Locator,URL)。
客户端将携带访问路径的访问请求发送至服务器,并接收到基于访问请求返回的目标静态页面的页面代码。其中,目标静态页面的页面代码为目标静态页面的文件的文本流,也可称为静态文件。
这里,页面代码中包括有第一代码,第一代码可为在服务端或客户端在页面代码中添加的(JavaScript,JS)脚本,第一代码用于判断当前操作用户对目标静态页面的访问权限,以及根据确定的访问权限控制所显示的页面。
在实际应用中,不同静态页面的页面代码中添加的第一代码可相同。
这里,根据确定的访问权限控制目标静态页面的页面元素中的目标页面元素的显示。其中,目标页面元素为目标静态页面的全部或部分页面元素。
在一示例中,客户端获取的页面代码中可包括目标页面元素,且在页面代码中,目标页面元素的显示样式设置为隐藏,即不显示目标页面元素。
在一示例中,客户端获取的页面代码中不包括目标页面元素,目标页面元素与页面代码存储在不同的位置。
本申请实施例中,客户端可通过运行在浏览器中的批量处理插件来在多个静态页面的页面代码中添加第一代码。
S302、通过所述页面代码中的第一代码,判断当前操作用户对所述目标静态页面的访问权限。
客户端获取到页面代码后,触发页面代码中的第一代码的执行,通过第一代码来判断当前操作用户对目标页面的访问权限。
在一示例中,当前操作用户对目标静态页面的访问权限包括:具备对目标静态页面的访问权限和不具备对目标静态页面的访问权限。当当前操作用户具备对目标静态页面的访问权限,则表示当前客户端的操作用户能够访问目标静态页面,客户端能正常打开目标静态页面。当当前操作用户不具备对目标静态页面的访问权限,则表示当前客户端的操作用户无法访问目标静态页面,客户端无法正常打开目标静态页面。
本申请实施例中,客户端能够基于访问路径获取到目标静态页面的页面代码,在获取到页面代码后,且在显示目标静态页面之前,触发页面代码中的第一代码的执行,通过第一代码的执行判断当前的操作用户对目标静态页面的访问权限,当当前操作用户具备对目标静态页面的访问权限,客户端才能够正常打开目标静态页面,进行目标静态页面的访问,否则,客户端即使在获取到目标静态页面的页面代码的情况下,也无法正常打开目标静态页面。
在一实施例中,S302的实施可包括以下两种方式之一:
判断方式一、基于目标静态页面的访问路径是否属于受控路径的子路径进行判断;
判断方式二、基于当前操作用户的登录状态进行判断。
在判断方式一中,客户端通过所述第一代码,获取所述访问请求的访问路径;当所述访问路径包含受控路径时,确定所述当前操作用户不具备对所述目标静态页面的访问权限;当所述访问路径不包含所述受控路径时,确定所述当前操作用户具备对所述目标静态页面的访问权限。
这里,受控路径可包括一个或多个设置的访问受限的路径,受控路径下的文件对应的静态页面被禁止访问。如果访问路径包含受控路径,则表征访问路径为受控路径的子路径,目标静态页面的页面代码位于受控路径下,目标静态页面禁止被当前操作用户访问,此时,客户端确定当前操作用户不具备对目标静态页面的访问权限。如果访问路径不包含受控路径,则表征访问路径不是受控路径的子路径,目标静态页面的页面代码不在受控路径下,目标静态页面可以被当前操作用户访问,此时,客户端确定当前操作用户具备对目标静态页面的访问权限。
本申请实施例中,第一代码中可包括能够获取访问请求的访问路径的属性,比如:location.href属性。此时,第一代码通过location.href属性获取客户端的访问路径。
在一示例中,受控路径包括:/app/user,/app/user下的文件被禁止访问。当目标静态页面的访问路径为:app/user/user_info.html,则访问路径包含受控路径,当前操作用户不具备对目标静态页面的访问权限。当目标静态页面的访问路径为:app/admin/user_info.html,则访问路径不包含受控路径,当前操作用户具备对目标静态页面的访问权限。
在判断方式二中,通过所述第一代码,获取所述当前操作用户的登录状态;当所述登录状态为第一状态,确定所述当前操作用户具备对所述目标静态页面的访问权限,所述第一状态表征登录正常;当所述登录状态为第二状态,确定所述当前操作用户不具备对所述目标静态页面的访问权限,所述第一状态表征登录异常。
这里,如果当前操作用户的登录状态为第一状态,表征当前操作用户正常登录客户端,则客户端确定当前操作用户具备对目标静态页面的访问权限。如果当前操作用户的登录状态为第二状态,表征当前操作用户异常登录客户端,则客户端确定当前操作用户不具备对目标静态页面的访问权限。
在一示例中,当当前操作用户以合法账户登录目标静态页面所属的网站,则当前操作用户正常登录客户端;当当前操作用户以非法账户登录目标静态页面所属的网站或未登录目标静态页面所属的网站,则当前操作用户异常登录客户端。
在判断方式二中,所述通过所述第一代码,获取所述当前操作用户的登录状态,包括:通过所述第一代码访问后端接口;接收所述后端接口返回的所述当前操作用户的登录状态。
这里,第一代码中可包括能够访问后端接口的访问对象,例如:XMLHttpRequest对象,从而通过访问对象访问后端接口,后端服务器能够记录当前操作用户的登录状态,并响应于访问对象的访问,通过后端接口向客户端返回记录的当前操作用户的登录状态。
本申请实施例中,客户端通过所述第一代码访问后端接口从而确定当前操作用户对目标静态页面的访问权限,这里,客户端仅与后端接口进行交互,访问权限的判断过程由前端客户端进行控制,因此,整个判断过程不需要后端服务器的参与,从而实现前后端的分离。
S303、根据所述当前操作用户对所述目标静态页面的访问权限,控制所述目标静态页面的显示。
客户端基于S302确定当前操作用户对目标静态页面的访问权限后,通过第一代码根据确定的访问权限控制目标静态页面的显示。
这里,当当前操作用户具备对目标静态页面的访问权限,则显示目标静态页面,从而在客户端正常打开目标静态页面,当当前操作用户不具备对目标静态页面的访问权限,则无法正常显示目标静态页面。
在实际应用中,当当前操作用户不具备对目标静态页面的访问权限,可目标页面静态页面的全部信息不显示,也可仅显示目标静态页面中的公开信息,除公开信息之外的页面信息不显示,使得客户端无法正常打开目标静态页面。其中,公开信息通过面向任何操作用户的公开页面元素显示;除公开信息之外的信息通过目标页面元素显示。
在一实施例中,S303的实施包括:
确定所述当前操作用户具备对所述目标静态页面的访问权限,显示所述目标静态页面;确定所述当前操作用户不具备对所述目标静态页面的访问权限,通过所述第一代码重定向至参考页面。
此时,如图4所示,S303的实施包括:S401、判断当前操作用户是否具备对所述目标静态页面的访问权限,当具备,则执行S402、显示目标静态页面,当不具备,则执行S403、显示参考页面。
这里,参考页面的访问路径是可配置的,第一代码在确定当前操作用户不具备对所述目标静态页面的访问权限,则将待访问路径重定向为参考页面的访问路径,从而重定向至参考页面,在客户端中显示参考页面。
在一示例中,在参考页面中可显示用于提示当前操作用户目标静态页面无法打开的提示信息,例如:“页面访问受限”。
本申请实施例提供的页面访问控制方法,接收到请求打开目标静态页面的访问请求后,获取所述目标静态页面的页面代码;通过所述页面代码中的第一代码,判断当前操作用户对所述目标静态页面的访问权限;根据所述当前操作用户对所述目标静态页面的访问权限,控制所述目标静态页面的显示;如此,在访问目标静态页面时,通过目标静态页面的页面代码中的第一代码来判断用户的访问权限,以对目标静态页面的显示进行控制,从而根据用户的访问权限控制页面的显示的同时,通过页面中携带的第一代码来判断用户的访问权限,从而在进行页面访问的前端完成权限的判断,不需要借助后端服务器来进行权限的判断,实现页面显示控制过程的前后端的分离。
在一实施例中,客户端显示所述目标静态页面的显示方式包括以下两种显示方式之一:
显示方式一、将目标页面元素的显示样式从隐藏切换为显示;
显示方式二、将目标页面元素添加到页面代码中。
在本申请实施例中,客户端可通过第一代码控制目标静态页面的显示。
在显示方式一中,客户端查找所述页面代码中的目标文档元素的层叠样式表(Cascading Style Sheets,CSS)样式,所述目标文档元素指向所述目标静态页面的目标页面元素,且所述目标文档元素的CSS样式设置为隐藏;将所述目标文档元素的CSS样式设置为显示。
客户端从服务端获取的页面代码中包括目标页面元素,且通过将目标文档元素的CSS样式设置为隐藏从而将目标页面元素的显示方式设置为隐藏。这里,目标文档元素为能够存放其他页面元素的通用容器,比如:DIV元素,P元素等。
目标文档元素通过一文件标识指向由目标静态页面的目标页面元素所构成的文件。这里,目标文档元素的ID属性可设置为第一参考路径,该第一参考路径可由目标页面元素所构成的文件的文件路径和文件名构成。
当通过第一代码确定当前操作用户具备对目标静态页面的访问权限,则将目标文档元素的CSS样式设置为显示。在一示例中,当目标文档元素为DIV元素,则将DIV元素的CSS样式删除,使得DIV元素指向的目标页面元素显示在目标静态页面中。
在显示方式二中,通过目标变量获取所述目标静态页面的目标页面元素,所述目标变量指向所述目标页面元素;通过将所获取的页面元素添加到所述页面代码中的目标文档元素中,构建所述目标文档元素。
客户端从服务端获取的页面代码中不包括目标页面元素,目标页面元素被添加到临时变量中。其中,目标页面元素可在被转换为字符串后被添加到临时变量中。这里,页面代码中的目标文档元素指向第二参考路径,但第二参考路径中并未包括目标页面元素构成的文件。
当通过第一代码确定当前操作用户具备对目标静态页面的访问权限,则通过临时变量将临时变量中的目标页面元素添加到第二参考路径中,使得目标页面元素添加到目标文档元素中,对目标文档元素进行重新构建,从而显示目标静态页面。
在实际应用中,第一参考路径和第二参考路径可相同。
本申请实施例提供的页面控制访问方法中,页面代码中添加有目标文档元素,并通过目标文档元素将目标页面元素隐藏或转移,并在需要正常显示目标静态页面时,通过目标文档元素显示页面元素。
在实际应用中,可通过批处理插件在目标静态页面中添加目标文档元素。
本申请实施例中,通过目标文档元素以隐藏或转移的方式将目标静态页面中的目标页面元素隐藏,并在确定当前操作用户具备对目标静态页面的访问权限时,通过样式的更新或目标页面元素的转移来显示目标静态页面中的目标页面元素,从而基于前端服务器的处理实现目标静态页面中的目标页面元素的显示,在实现前后端完全分离的情况下,简化目标静态页面中的目标页面元素的显示方式,提高客户端的系统效率。
下面,以目标文档元素为DIV元素、第一代码为JS脚本为例,通过具体的应用场景对本申请实施例提供的页面访问控制方法进行进一步说明。
本申请实施例提供的页面访问控制方法中的页面的控制方式包括以下两种方式:
控制方式一、将页面元素的CSS样式进行控制。
在受控页面即目标静态页面中增加新的DIV元素,并使用受控页面的文件路径和文件名作为该DIV元素的ID属性,并将新的DIV元素的CSS样式设置为隐藏。当通过JS脚本确定当前用户具有对该受控页面的访问权限,则将CSS隐藏样式删除,受控页面正常显示。
控制方式二、通过临时变量进行控制。
将受控页面中的页面代码转换成字符串string并转移到临时变量中,并在受控页面中增加新的DIV元素,并使用受控页面的文件路径和文件名作为该DIV元素的ID属性。当通过JS脚本确定当前用户具有对受控页面的访问权限,则将临时变量中的页面代码添加到新的DIV元素中,重新构建受控页面,受控页面正常显示。
本申请实施例中,通过控制方式一实现前述显示方式一,通过控制方式二实现前述显示方式二。
本申请实施例提供的页面访问控制方法中的页面的控制方式包括以下两种方式:
本申请实施例提供的访问权限的判断方式包括以下两种方式:
判断方式一、通过受控路径进行判断,即基于受控页面的访问路径是否属于受控路径的子路径进行判断。
这里,定义一个或多个路径为受控路径。如果浏览器直接访问受控路径下的受控页面,则触发受控页面中的JS脚本,通过JS脚本中的location.href获取浏览器的访问路径。当访问路径中包括受控路径,通过JS脚本将浏览器路径重定向到指定页面。当访问路径中不包括受控路径,正常显示受控路径对应的受控页面。
判断方式二、通过用户登录情况进行判断,即基于当前操作用户的登录状态进行判断。
后端服务器提供用于传输用户登录状态的接口。当服务器访问受控路径时,触发IS脚本,JS脚本通过XMLHttpRequest对象访问后端接口。如果后端接口返回登录正常,客户端显示正常页面;如果接口返回登录异常,则客户端将浏览器路径重定向到指定页面即参考页面。
本申请实施例提供的页面访问控制方法如图5所示,包括:
S501、开发端在受控页面中增加DIV元素。
这里,在受控页面中增加新的DIV元素,并使用受控页面的页面元素的文件路径和文件名作为该DIV元素的ID属性。
S502、开发端通过DIV元素将受控页面的页面元素隐藏或转移。
这里,使用受控页面的页面元素的文件路径和文件名作为该DIV元素的ID属性。可设置DIV元素的CSS样式设置为隐藏,也可将页面元素转换的字符串转移到临时变量中。
S503、开发端在受控页面的页面代码中增加JS脚本。
S504、开发端设置受控路径或后端接口。
开发端将增加DIV元素和JS脚本后的受控页面的页面代码保存在服务端。
S505、客户端通过浏览器从服务端获取受控页面的页面代码,并运行JS代码。
通过JS代码获取当前访问路径,以通过受控路径判断当前访问路径是否合法,或通过JS代码访问后端接口,以通过后端接口判断当前操作用户登录状态是否正常。其中,当当前访问路径包含受控路径,则当前访问路径不合法,当当前访问路径不包含受控路径,则当前访问路径合法。
当当前访问路径合法或返回的登录状态为登录正常,则执行S506,当当前访问路径不合法或返回的登录状态为登录异常,则执行S507。
S506、客户端显示受控页面。
S507、客户端通过JS脚本将浏览器的访问地址重定向到指定地址。
此时,客户端显示的指定地址即参考地址所指示的参考页面。
本申请实施例提供的页面控制方法还提供一种基于gulp前端打包工具的批量处理静态页面的批处理插件,以解决重复性的修改工作,同时也减少了对原系统的修改量保证了原系统的结构完整性。
批处理插件工作流程,如图6所示,包括:
S601、获取gulp处理的文件的文本流。
S602、判断服务端的操作系统。
这里,判断服务端的系统是windows系统还是unix系统,用于判断当前系统的路径分隔符,当系统是windows系统,执行S603,当系统是unix系统,执行S604。
S603、将文本流的文件路径中的分隔符“\”替换为分隔符“-”,生成文件ID。
S604、将文本流的文件路径中的分隔符“/”替换为分隔符“-”,生成文件ID。
S605、在文本流中添加新的DIV元素,并将文件ID作为新的DIV元素的ID属性。
S606、在文本流中添加JS脚本。
S607、将新文本流输出,并生成该文本流对应的静态文件。
本申请实施例提供的页面访问控制方法涉及以下三方面:
1、两种页面控制的方式:添加新的DIV元素并进行CSS样式隐藏;将原页面元素转换成字符串,并在确定当前操作用户具备访问权限时重新在新的DIV元素中构建原页面元素。
2、两种权限控制方式:设置受控路径,如果直接访问受控路径下的静态文件会重定向到指定页面;通过后端接口判断文件是否可以直接访问,如果登录状态异常页面会重定向到指定页面。
3、通过批处理插件,能够批量处理需要进行受控修改的静态文件。
相关技术中,都是在后端层面实现访问控制,从而增加后端服务器的额外消耗,同时也需要开发额外的代码实现控制。另外,还会使前端过度依赖于后端服务器不利于前端分离的架构思想。
本申请实施例提供的页面访问控制方法,将控制代码放在前端运行,从而减少了对于后端服务器的依赖,减轻了后端服务器的压力,同时也更好的实现了前后端分离架构,使后端更专注于业务代码开发。
图7为本申请实施例的一种页面访问控制装置的结构示意图,如图7所示,装置700包括:
获取单元701,用于接收到请求打开目标静态页面的访问请求后,获取所述目标静态页面的页面代码;
判断单元702,用于通过所述页面代码中的第一代码,判断当前操作用户对所述目标静态页面的访问权限;
控制单元703,用于根据所述当前操作用户对所述目标静态页面的访问权限,控制所述目标静态页面的显示。
在一实施例中,判断单元702,还用于:
通过所述第一代码,获取所述访问请求的访问路径;
当所述访问路径包含受控路径时,确定所述当前操作用户不具备对所述目标静态页面的访问权限,所述受控路径为所述页面代码所在的文件夹的路径;
当所述访问路径不包含所述受控路径时,确定所述当前操作用户具备对所述目标静态页面的访问权限。
在一实施例中,判断单元702,还用于:
通过所述第一代码,获取所述当前操作用户的登录状态;
当所述登录状态为第一状态,确定所述当前操作用户具备对所述目标静态页面的访问权限,所述第一状态表征登录正常;
当所述登录状态为第二状态,确定所述当前操作用户不具备对所述目标静态页面的访问权限,所述第二状态表征登录异常。
在一实施例中,判断单元702,还用于:
通过所述第一代码访问后端接口;
接收所述后端接口返回的所述当前操作用户的登录状态。
在一实施例中,控制单元703,还用于:
确定所述当前操作用户具备对所述目标静态页面的访问权限,显示所述目标静态页面;
确定所述当前操作用户不具备对所述目标静态页面的访问权限,通过所述第一代码重定向至参考页面。
在一实施例中,控制单元703,还用于:
查找所述页面代码中的目标文档元素的CSS样式,所述目标文档元素指向所述目标静态页面的目标页面元素,且所述目标文档元素的CSS样式设置为隐藏;
将所述目标文档元素的CSS样式设置为显示。
在一实施例中,控制单元703,还用于:
通过目标变量获取所述目标静态页面的目标页面元素,所述目标变量指向所述目标页面元素;
通过将所获取的目标页面元素,添加到所述页面代码中的目标文档元素中,构建所述目标文档元素。
需要说明的是,本申请实施例提供的页面访问控制装置包括所包括的各单元,可以通过电子设备中的处理器来实现;当然也可通过具体的逻辑电路实现;在实施的过程中,处理器可以为中央处理器(CPU,Central Processing Unit)、微处理器(MPU,MicroProcessor Unit)、数字信号处理器(DSP,Digital Signal Processor)或现场可编程门阵列(FPGA,Field-Programmable Gate Array)等。
以上装置实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请装置实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。
需要说明的是,本申请实施例中,如果以软件功能模块的形式实现上述的数据写入方法,并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read OnlyMemory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。这样,本申请实施例不限制于任何特定的硬件和软件结合。
对应地,本申请实施例提供一种电子设备,包括存储器和处理器,所述存储器存储有可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述实施例中提供的页面访问控制方法中的步骤。
对应地,本申请实施例提供一种存储介质,也就是计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中提供的页面访问控制方法。
这里需要指出的是:以上存储介质和设备实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请存储介质和设备实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。
需要说明的是,图8为本申请实施例电子设备的一种硬件实体示意图,如图8所示,所述电子设备800包括:一个处理器801、至少一个通信总线802、用户接口803、至少一个外部通信接口804和存储器805。其中,通信总线802配置为实现这些组件之间的连接通信。其中,用户接口803可以包括显示屏,外部通信接口804可以包括标准的有线接口和无线接口。
存储器805配置为存储由处理器801可执行的指令和应用,还可以缓存待处理器801以及电子设备中各模块待处理或已经处理的数据(例如,图像数据、音频数据、语音通信数据和视频通信数据),可以通过闪存(FLASH)或随机访问存储器(Random Access Memory,RAM)实现。
应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本申请的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一些实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本申请各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(Read Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。
或者,本申请上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (10)
1.一种页面访问控制方法,其特征在于,所述方法包括:
接收到请求打开目标静态页面的访问请求后,获取所述目标静态页面的页面代码;
通过所述页面代码中的第一代码,判断当前操作用户对所述目标静态页面的访问权限;
根据所述当前操作用户对所述目标静态页面的访问权限,控制所述目标静态页面的显示。
2.根据权利要求1所述的方法,其特征在于,所述通过所述页面代码中的第一代码,判断当前操作用户对所述目标静态页面的访问权限,包括:
通过所述第一代码,获取所述访问请求的访问路径;
当所述访问路径包含受控路径时,确定所述当前操作用户不具备对所述目标静态页面的访问权限;
当所述访问路径不包含所述受控路径时,确定所述当前操作用户具备对所述目标静态页面的访问权限。
3.根据权利要求1所述的方法,其特征在于,所述通过所述页面代码中的第一代码,判断当前操作用户对所述目标静态页面的访问权限,包括:
通过所述第一代码,获取所述当前操作用户的登录状态;
当所述登录状态为第一状态,确定所述当前操作用户具备对所述目标静态页面的访问权限,所述第一状态表征登录正常;
当所述登录状态为第二状态,确定所述当前操作用户不具备对所述目标静态页面的访问权限,所述第二状态表征登录异常。
4.根据权利要求3所述的方法,其特征在于,所述通过所述第一代码,获取所述当前操作用户的登录状态,包括:
通过所述第一代码访问后端接口;
接收所述后端接口返回的所述当前操作用户的登录状态。
5.根据权利要求2或3所述的方法,其特征在于,所述根据所述当前操作用户对所述目标静态页面的访问权限,控制所述目标静态页面的显示,包括:
确定所述当前操作用户具备对所述目标静态页面的访问权限,显示所述目标静态页面;
确定所述当前操作用户不具备对所述目标静态页面的访问权限,通过所述第一代码重定向至参考页面。
6.根据权利要求5所述的方法,其特征在于,所述显示所述目标静态页面,包括:
查找所述页面代码中的目标文档元素的层叠样式表CSS样式,所述目标文档元素指向所述目标静态页面的目标页面元素,且所述目标文档元素的CSS样式设置为隐藏;
将所述目标文档元素的CSS样式设置为显示。
7.根据权利要求5所述的方法,其特征在于,所述显示所述目标静态页面,包括:
通过目标变量获取所述目标静态页面的目标页面元素,所述目标变量指向所述目标页面元素;
通过将所获取的目标页面元素添加到所述页面代码中的目标文档元素中,构建所述目标文档元素。
8.一种页面访问控制装置,其特征在于,所述装置包括:
获取单元,用于接收到请求打开目标静态页面的访问请求后,获取所述目标静态页面的页面代码;
判断单元,用于通过所述页面代码中的第一代码,判断当前操作用户对所述目标静态页面的访问权限;
控制单元,用于根据所述当前操作用户对所述目标静态页面的访问权限,控制所述目标静态页面的显示。
9.一种电子设备,其特征在于,包括处理器和用于存储能够在处理器上运行的计算机程序的存储器;其中,所述处理器用于运行所述计算机程序时,执行权利要求1至7任一项所述页面访问控制方法中的步骤。
10.一种存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至7任一项所述页面访问控制方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010761862.1A CN114065068A (zh) | 2020-07-31 | 2020-07-31 | 一种页面访问控制方法及装置、设备、存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010761862.1A CN114065068A (zh) | 2020-07-31 | 2020-07-31 | 一种页面访问控制方法及装置、设备、存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114065068A true CN114065068A (zh) | 2022-02-18 |
Family
ID=80227789
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010761862.1A Pending CN114065068A (zh) | 2020-07-31 | 2020-07-31 | 一种页面访问控制方法及装置、设备、存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114065068A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115906187A (zh) * | 2023-02-22 | 2023-04-04 | 山东经伟晟睿数据技术有限公司 | 一种功能权限与接口权限结合的用户权限控制方法及系统 |
-
2020
- 2020-07-31 CN CN202010761862.1A patent/CN114065068A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115906187A (zh) * | 2023-02-22 | 2023-04-04 | 山东经伟晟睿数据技术有限公司 | 一种功能权限与接口权限结合的用户权限控制方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11907642B2 (en) | Enhanced links in curation and collaboration applications | |
KR101748196B1 (ko) | 표시할 메시지 데이터 결정 | |
CN107979632B (zh) | 推送信息的处理方法、装置及系统 | |
CN110362372A (zh) | 页面转译方法、装置、介质及电子设备 | |
US20240143904A1 (en) | Human-Computer Interaction Method And Apparatus Thereof | |
JP2016529599A (ja) | コンテンツクリップボードの同期 | |
EP3189464A1 (en) | Secure document sharing | |
US20170249934A1 (en) | Electronic device and method for operating the same | |
CN110245304B (zh) | 数据分享方法、设备以及计算机可读介质 | |
CN104395884A (zh) | 用于网页应用程序和浏览器扩展的数据存储层级 | |
CN104704468A (zh) | Web应用程序的跨系统安装 | |
CN1996295A (zh) | 图像形成装置和搜索和打印网络上的图像的方法 | |
CN106648569B (zh) | 目标序列化实现方法和装置 | |
CN114065068A (zh) | 一种页面访问控制方法及装置、设备、存储介质 | |
WO2023082813A1 (zh) | 信息分享方法、装置、电子设备及存储介质 | |
US8478822B2 (en) | Device and method of sharing contents based on time synchronization | |
CN101772196A (zh) | 处理移动终端发送的信息的方法和系统以及代理服务器 | |
KR101125083B1 (ko) | 웹 컨텐츠 스크랩 시스템 및 그 방법 | |
CN105589870B (zh) | 网页广告的过滤方法和系统 | |
CN111078654B (zh) | 一种分享信息的方法与设备 | |
CN111385375B (zh) | 一种用于电子邮箱地址生成的方法与设备 | |
US20130239027A1 (en) | Apparatus and method for generating wiki previews | |
CN108920589A (zh) | 浏览劫持识别方法、装置、服务器及存储介质 | |
CN113760382B (zh) | 一种插件启动方法、装置、终端设备及存储介质 | |
CN107577825A (zh) | 一种在移动终端加载网页的方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |