设计并实现请求路径权限认证

简介: 设计并实现请求路径权限认证

正文


权限认证是整个系统关键性以及非常重要的一个部分,今天讲述实现的是请求的路径权限控制,如何有效的控制用户的访问范围是我们讨论的重点。


PS:或许现在存在这样的权限认证系统,比如shior。但是我就是想自己实现一个属于自己的权限认证的机制,方便系统的后面的扩展。


请求路径,即是浏览器输入的路径,也是咱们的请求的路径。由于项目的复杂性以及每一个用户的特殊性,而且还要考虑以后的扩展的需要,所以自己实现这个。


概念的定义:请求权限树,由于请求的路径是由“/”这个分开的,那么,每一个部分都可以看成一个树的节点(就像Linux的文件系统一样的)。


上面的权限树的请求路径分别为:

/get/menu/add
/get/menu/update
/get/user/findall
/get/topic/findall

可以根据请求权限树的结构,定义用户请求路径的数据结构。


4.png

5.png

上面的2个结构,定义者用户的请求权限树的结构。

一般情况下,操作的大致可以分为:授予权限、撤回权限以及权限的验证。

同理,下面定一个基本操作。

6.png

添加权限:

7.png

8.png

撤销权限:

0.png

00.png

校验权限:

000.png

0000.png

使用方式:现阶段还是测试阶段,默认是关闭的

9.png

在我们的拦截器的地方:

99.png

至此,我们定义的请求路径权限认证就写好啦!


这个我描述的过于简单,感兴趣的可以互相交流!



相关文章
|
监控 测试技术 API
【开发规范】Breaking change 破坏性变更
【1月更文挑战第26天】【开发规范】Breaking change 破坏性变更
|
存储 应用服务中间件 API
MinIO 参数解析与限制
MinIO 参数解析与限制 MinIO server 在默认情况下会将所有配置信息存到 ${HOME}/.minio/config.json 文件中。 以下部分提供每个字段的详细说明以及如何自定义它们。
6312 0
|
7月前
|
人工智能 开发框架 决策智能
谷歌开源多智能体开发框架 Agent Development Kit:百行代码构建复杂AI代理,覆盖整个开发周期!
谷歌开源的Agent Development Kit(ADK)是首个代码优先的Python工具包,通过多智能体架构和灵活编排系统,支持开发者在百行代码内构建复杂AI代理,提供预置工具库与动态工作流定义能力。
1267 3
谷歌开源多智能体开发框架 Agent Development Kit:百行代码构建复杂AI代理,覆盖整个开发周期!
|
存储 移动开发 负载均衡
晨兴夜寐:这一次,彻底搞懂Cookie,LocalStorage,SessionStorage
晨兴夜寐:这一次,彻底搞懂Cookie,LocalStorage,SessionStorage
1822 0
|
消息中间件 运维 Serverless
商业版vs开源版:一图看懂云消息队列 RocketMQ 版核心优势
自建开源 RocketMQ 集群,为保证业务稳定性,往往需要按照业务请求的峰值去配置集群资源。云消息队列 RocketMQ 版 Serverless 实例通过资源快速伸缩,实现资源使用量与实际业务负载贴近,并按实际使用量计费,有效降低企业的运维压力和使用成本。
715 108
|
5月前
|
机器学习/深度学习 存储 Prometheus
机器学习模型监控警报系统设计:Prometheus+Evidently 实战教程
本系统采用Prometheus与Evidently双引擎架构,实现从数据采集、智能分析到精准告警的全流程监控。通过时序数据与模型分析深度集成,支持数据漂移检测、性能评估及根因分析,结合Grafana可视化与Alertmanager智能路由,构建高可用、低延迟的监控体系,显著提升异常检测能力与系统稳定性。
262 1
|
7月前
|
边缘计算 网络协议 安全
DDoS攻击:网络世界的“洪峰考验”与应对逻辑
本文介绍了DDoS攻击的运行机制及其影响,并提供了多层次的防御策略。DDoS攻击通过海量流量使目标服务器过载,造成服务中断,对电商和在线平台带来巨大经济损失与用户信任危机。防御措施包括基础设施优化、流量调度及云端协同防护等技术手段。针对中小企业,推荐使用如非凡云提供的弹性防护方案,含200G免费DDoS防御与自动带宽扩容功能,有效降低攻击风险和技术门槛。
779 0
DDoS攻击:网络世界的“洪峰考验”与应对逻辑
|
9月前
|
数据采集 JSON Java
Java爬虫获取微店快递费用item_fee API接口数据实现
本文介绍如何使用Java开发爬虫程序,通过微店API接口获取商品快递费用(item_fee)数据。主要内容包括:微店API接口的使用方法、Java爬虫技术背景、需求分析和技术选型。具体实现步骤为:发送HTTP请求获取数据、解析JSON格式的响应并提取快递费用信息,最后将结果存储到本地文件中。文中还提供了完整的代码示例,并提醒开发者注意授权令牌、接口频率限制及数据合法性等问题。
|
架构师 关系型数据库 MySQL
MySQL最左前缀优化原则:深入解析与实战应用
【10月更文挑战第12天】在数据库架构设计与优化中,索引的使用是提升查询性能的关键手段之一。其中,MySQL的最左前缀优化原则(Leftmost Prefix Principle)是复合索引(Composite Index)应用中的核心策略。作为资深架构师,深入理解并掌握这一原则,对于平衡数据库性能与维护成本至关重要。本文将详细解读最左前缀优化原则的功能特点、业务场景、优缺点、底层原理,并通过Java示例展示其实现方式。
452 1
|
存储 数据库
zookeeper 集群环境搭建及集群选举及数据同步机制
zookeeper 集群环境搭建及集群选举及数据同步机制
397 2