在线客服:
yabo2020 yabo2020
全国服务热线:010-62773376
您的位置:首页 > 新闻中心 >

网络权限控制的实现方法

浏览 119次 来源:【jake推荐】 作者:-=Jake=-    时间:2021-03-29 13:27:52
[摘要] 如何控制用户对服务器资源的操作权限呢?用户表和权限控制表。xml中配置的bean所对应的对象,在用户访问一个URL地址时,spring就可以返回被访问的真实对象的代理对象,在访问真实对象的每个方法时,代理对象就会取查询数据库判断当前用户是否具有注解中定义的权限,因为是真实对象的代理对象,所以是能够实现这一系列操作的,最后根据判断是否具有权限的结果来控制用户的访问。

web 权限控制

粗粒度的URL级别权限控制

权限控制主要分为粗粒度的URL级权限控制和细粒度的方法级权限控制。 (推荐研究:网络前端视频教程)

我们在后台系统中的操作(无论是单击按钮还是单击菜单项)正在访问服务器端的资源以及标识服务器资源的URL。如何控制用户对服务器资源的操作权限?我们的数据库中将有两个表:

用户表和权限控制表。用户表中的用户与权限控制表中的相关权限相关联。 Fliter用于确定当前用户是否具有与URL地址相对应的权限。如果用户的相应权限列表没有当前访问的URL地址,它将提示权限不足。如果用户的相应权限列表包含URL地址,则允许该用户访问它。

简单来说,基于URL的粗粒度权限控制是将用户,权限和访问URL之间的关系存储在数据库中。当前用户访问URL地址时,它将查询数据库以确定该用户的当前权限。钱柜体育 ,是否包含此URL(如果包含),将允许访问;如果不包含,则提示权限不足。

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

细粒度方法级别权限控制比粗粒度权限控制更精细。同样AG体育 ,在后台系统中单击按钮或菜单项时,您正在访问服务器端的URL资源,并且此URL地址将涉及表示层鸭脖官网 ,业务层和DAO数据层方法。粗粒度方法通过在查询数据表中比较当前用户的相关权限来确定是否释放用户。区别在于,细粒度的权限控制是基于自定义注释实现的。

例如:在业务层的方法中添加注释@Permission(“自定义权限名称”),此注释包含访问方法所需的权限信息,并在数据库中还创建两个表:User表和权限表。权限表中的权限名称应与刚在方法上添加的注释中的自定义名称一致。坦率地说,在权限表中描述了权限信息,然后传递了注释。将表单添加到方法中,从而达到了控​​制方法权限的目的。与用户表中的用户相对应的重新授权表中的权限也与数据表相关联。用户可以通过数据访问哪些方法和资源。表与注释一起控制。

较低级别的实现原理是:Spring管理与applicationContext.xml中配置的Bean对应的对象。当用户访问URL地址时,spring可以返回被访问的真实对象的代理对象。对于对象的每种方法电竞下注 ,代理对象将查询数据库以确定当前用户是否具有注释中定义的权限。因为它是真实对象的代理对象,所以它可以实现这一系列操作,并最终判断它是否具有权限。结果是控制用户的访问。

简单来说web 权限控制,可通过将代理对象与自定义批注结合使用来实现细粒度的权限控制。当用户访问目标对象的方法时,请向该方法添加权限注释信息web 权限控制,并为目标对象创建代理对象。实际对象首先访问代理对象,并且代理对象进入数据库以查询权限数据以确定用户是否具有注释中描述的所需权限。如果您具有访问权限,则被允许访问;如果您没有访问权限,则将阻止访问,提示您权限不足。

以上是网络访问控制实现方法的详细内容。有关更多信息,请关注php中文网站上的其他相关文章!

本文最初在php中文网站上发布。请注明转载来源。谢谢您的尊重!

主题推荐:互联网

老王
本文标签:url,粒度,数据库

推荐阅读

最新评论