首页 常见问题 网络权限控制的实现方法

网络权限控制的实现方法

Oct 26, 2019 am 09:47 AM
网络

网络权限控制的实现方法

粗粒度URL级别的权限控制

权限控制主要分为粗粒度URL级别的权限控制和细粒度的方法级别权限控制。   (推荐学习:web前端视频教程

我们在后台系统的操作,无论是点击一个按钮,还是点击一个菜单项,都是在访问服务器端的一个资源,而标识服务器资源的就是URL。如何控制用户对服务器资源的操作权限呢?在我们的数据库中会有两张表:

用户表和权限控制表。用户表中的用户会同权限控制表中的相关权限进行关联,通过Fliter判断当前用户是否具有权限对应着URL地址,如果用户对应的权限列表中没有当前访问的URL地址,就提示权限不足。如果用户对应的权限列表中含有URL地址,允许用户访问。

简单来说,基于URL粗粒度的权限控制,就是在数据库中存放用户、权限、访问URL对应的关系,在当前用户访问一个URL地址时,就去查询数据库,判断用户当前具有的权限,是否包含这个URL,如果包含就允许访问,如果不包含,就提示权限不足。

细粒度方法级别的权限控制

细粒度方法级别的权限控制相较粗粒度的权限控制粒度更加精细。同样地,在点击后台系统地一个按钮或者是一个菜单项时,都是在访问服务器端的一个URL资源,而这个URL地址会涉及到表现层、业务层和DAO数据层的方法。粗粒度的是通过查询数据表中当前用户的相关权限进行比对而判断是否要对用户放行,不同的是,细粒度的权限控制是基于自定义的注解实现的。

比如:在业务层中的某个方法上添加一个注解@Permission(“自定义权限名称”),在这个注解中就包含了访问方法需要的权限信息,在数据库中同样创建两张表:用户表和权限表,权限表中的权限名称就要于刚刚在方法上添加的注解中的自定义名称保持一致,说直白一点,就是在权限表中描述了权限信息,再通过注解的形式添加到方法上,这样就达到了对方法进行权限控制的目的,用户表中的用户对应的再权限表中的权限也在数据表中进行关联,用户能访问哪些方法、哪些资源就通过数据表结合注解来控制了。

更底层的实现原理是:spring管理着通过applicationContext.xml中配置的bean所对应的对象,在用户访问一个URL地址时,spring就可以返回被访问的真实对象的代理对象,在访问真实对象的每个方法时,代理对象就会取查询数据库判断当前用户是否具有注解中定义的权限,因为是真实对象的代理对象,所以是能够实现这一系列操作的,最后根据判断是否具有权限的结果来控制用户的访问。

简单来说,细粒度的权限控制是通过代理对象结合自定义的注解实现,在用户访问目标对象的方法时,在方法上添加权限注解信息,同时对目标对象创建代理对象,在访问真实对象之前先访问代理对象,代理对象前往数据库查询权限数据判断用户是否具有注解上描述所需要的权限。如果具备访问权限,就允许访问,不具备访问权限,就拦截访问,提示权限不足。

以上是网络权限控制的实现方法的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
1 个月前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
1 个月前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
1 个月前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.聊天命令以及如何使用它们
1 个月前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

Windows 11 上如何调整 MTU 大小 Windows 11 上如何调整 MTU 大小 Aug 25, 2023 am 11:21 AM

如果您在Windows11上突然出现缓慢的互联网连接,并且您已经尝试了书中的所有技巧,那么它可能与您的网络无关,而是与您的最大传输单元(MTU)无关。如果您的系统发送或接收具有错误MTU大小的数据,则可能会出现问题。在这篇文章中,我们将了解如何在Windows11上更改MTU大小以实现流畅和不间断的互联网连接。Windows11中的默认MTU大小是多少?Windows11中的默认MTU大小为1500,这是允许的最大值。MTU代表最大传输单位。这是可以在网络上发送或接收的最大数据包大小。每个支持网

WLAN扩展模块已停止[修复] WLAN扩展模块已停止[修复] Feb 19, 2024 pm 02:18 PM

如果您的Windows计算机上的WLAN扩展模块出现问题,可能会导致您与互联网断开连接。这种情况常常让人感到困扰,但幸运的是,本文提供了一些简单的建议,可以帮助您解决这个问题,让您的无线连接重新正常运行。修复WLAN扩展模块已停止如果您的Windows计算机上的WLAN可扩展性模块已停止工作,请按照以下建议进行修复:运行网络和Internet故障排除程序禁用并重新启用无线网络连接重新启动WLAN自动配置服务修改电源选项修改高级电源设置重新安装网络适配器驱动程序运行一些网络命令现在,让我们来详细看

win11 DNS服务器错误如何解决 win11 DNS服务器错误如何解决 Jan 10, 2024 pm 09:02 PM

我们在连接网络时需要使用正确的dns才可以上网。同理,如果我们使用了错误的dns设置就会提示dns服务器错误了,这时候我们可以尝试在网络设置中选择自动获取dns来解决,下面就一起来看下具体解决方法吧。win11网络dns服务器错误怎么办方法一:重新设置DNS1、首先,点击任务栏中的开始进入,在其中找到并点开“设置”图标按钮。2、然后点击左侧栏中的“网络&Internet”选项命令。3、然后在右侧找到“以太网”选项,点击进入。4、之后,点击DNS服务器分配中的“编辑”,最后将DNS设置为“自动(D

解决Chrome,Google云端硬盘和照片上的'失败网络错误”下载! 解决Chrome,Google云端硬盘和照片上的'失败网络错误”下载! Oct 27, 2023 pm 11:13 PM

什么是“网络错误下载失败”问题?在我们深入研究解决方案之前,让我们首先了解“网络错误下载失败”问题的含义。当下载过程中网络连接中断时,通常会发生此错误。它可能由于各种原因而发生,例如互联网连接薄弱、网络拥塞或服务器问题。发生此错误时,下载将停止,并显示错误消息。如何修复失败的网络错误下载?在访问或下载必要的文件时,遇到“网络错误下载失败”可能会成为障碍。无论您是使用Chrome等浏览器还是Google云端硬盘和Google相册等平台,都会弹出此错误,从而造成不便。下面是帮助您导航和解决此问题的分

修复: WD 我的云未显示在 Windows 11 中的网络上 修复: WD 我的云未显示在 Windows 11 中的网络上 Oct 02, 2023 pm 11:21 PM

如果WDMyCloud未在Windows11的网络上显示,这可能是一个大问题,尤其是当您将备份或其他重要文件存储在其中时。对于经常需要访问网络存储的用户来说,这可能是一个大问题,因此在今天的指南中,我们将向您展示如何永久解决此问题。为什么WDMyCloud未显示在Windows11网络上?您的MyCloud设备、网络适配器或互联网连接未正确配置。电脑上未安装SMB功能。Winsock的临时故障有时会导致此问题。如果我的云未显示在网络上,我该怎么办?在我们开始修复问题之前,您可以执行一些初步检查:

win10不能上网右下角显示地球怎么办 win10网络成地球无法上网的多种解决办法 win10不能上网右下角显示地球怎么办 win10网络成地球无法上网的多种解决办法 Feb 29, 2024 am 09:52 AM

这篇文章将介绍Win10系统网络显示地球标志但无法上网的解决方法。文章将提供详细的操作步骤,帮助读者解决Win10网络显示地球无法上网的问题。方法一:直接重启先检查一下网线是否没插好,宽带是否欠费,路由器或光猫可能会卡死,这时需重启路由器或光猫。假如当前电脑没有重要的事宜在操作,能直接重启电脑,大部分的小问题能通过重启电脑来快速解决。假如确定宽带没有欠费,网络正常,那便是另一回事。方法二:1、按【Win】键,或点击左下角的【开始菜单】,在打开的菜单项中,点击电源按钮上方的齿轮状图标,这个就是【设

在 Windows 11 中如何启用/禁用局域网唤醒功能 在 Windows 11 中如何启用/禁用局域网唤醒功能 Sep 06, 2023 pm 02:49 PM

LAN唤醒是Windows11上的一项网络功能,有了它,您可以远程将电脑从休眠或睡眠模式唤醒。虽然临时用户不经常使用它,但此功能对于使用有线网络的网络管理员和高级用户非常有用,今天我们将向您展示如何设置它。如何知道我的计算机是否支持LAN唤醒?要使用此功能,您的计算机需要以下各项:PC需要连接到ATX电源,以便您可以远程将其从睡眠模式唤醒。需要创建访问控制列表并将其添加到网络中的所有路由器。网卡需要支持唤醒局域网功能。要使此功能正常工作,两台计算机需要位于同一网络上。虽然大多数以太网适配器通过以

如何在 Windows 11 上检查网络连接详细信息和状态 如何在 Windows 11 上检查网络连接详细信息和状态 Sep 11, 2023 pm 02:17 PM

为了确保您的网络连接正常工作或解决问题,有时您需要检查Windows11上的网络连接详细信息。通过这样做,您可以查看各种信息,包括您的IP地址、MAC地址、链接速度、驱动程序版本等,在本指南中,我们将向您展示如何做到这一点。如何在Windows11上查找网络连接详细信息?1.使用“设置”应用按+键打开Windows设置。WindowsI接下来,导航到左窗格中的网络和互联网,然后选择您的网络类型。在我们的例子中,这就是以太网。如果您使用的是无线网络,请改为选择Wi-Fi网络。在屏幕底部,您应该会看