zdppy+vue3+onlyoffice文档管理系统实战 20240906 上课笔记 整合权限校验中间件

本文主要是介绍zdppy+vue3+onlyoffice文档管理系统实战 20240906 上课笔记 整合权限校验中间件,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

基于角色方法的中间件基本用法

import zdppy_api as api
import zdppy_apimidauthasync def index(request):return api.resp.success()async def login(request):token = zdppy_apimidauth.get_role_token(role="admin")return api.resp.success(token)auth_dict = {"admin": {"GET:/": True,"GET:/1": False,}
}async def has_auth_func(role, method, path):"""校验角色对method和path是否有访问权限"""print(role, method, path)if not str(path).startswith("/"):path = f"/{path}"# GET:/1auth = str(method).upper() + ":" + path# 判断是否有权限role_auth_dict = auth_dict.get(role)if not isinstance(role_auth_dict, dict):return Falseif not role_auth_dict.get(auth):return Falsereturn Trueapp1 = api.Api(routes=[api.resp.get("/", index),api.resp.get("/1", index),api.resp.post("/login", login),],middleware=[# 默认是:zhangdapeng zhangdapng520# 可以传入账号和密码进行覆盖zdppy_apimidauth.roleapi(has_auth_func)]
)if __name__ == '__main__':app1.run()

解析Token的方法


import zdppy_jwt as jwt
import zdppy_env as envenv.load("../.env")key = env.get("JWT_KEY")
token = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjE4MzE2NTM2NjMzODEyOTkyMDAiLCJ1c2VybmFtZSI6ImFkbWluIiwicm9sZV9pZCI6bnVsbCwicm9sZSI6bnVsbCwicm9sZV9kaWN0Ijp7fSwiZXhwaXJlZCI6MTcyNTU2MDA0OC44MjI1Mjh9.23iRSnug4xHdWEIRLTaZsTi4vCzOjFS5UIFB0AT_Jmw"
userinfo = jwt.parse_token(token, key=key)
print(userinfo)

解析得到下面的东西:

{'id': '1831653663381299200', 'username': 'admin', 'role_id': None, 'role': None, 'role_dict': {}, 'expired': 1725560048.822528}

整合权限校验中间件

import zdppy_api as api
import zdppy_env as env
import zdppy_mcrud as mcrud
import routes
import zdppy_apimidauth
from zdppy_log import loggerenv.load(".env")db = mcrud.new_env()async def has_auth_func(role, method, path):"""校验角色对method和path是否有访问权限"""logger.debug("正在校验接口权限", role=role, method=method, path=path)return Trueapp = api.Api(routes=[*routes.get_routes(db),],middleware=[api.middleware.cors(),zdppy_apimidauth.roleapi(has_auth_func, env.get("JWT_KEY"))],
)if __name__ == "__main__":app.run(port=18888)

如果没有传Token

在这里插入图片描述

带上Token

在这里插入图片描述

错误的Token

在这里插入图片描述

我传的是无效的Token,但是返回的是服务器内部错误。

这篇关于zdppy+vue3+onlyoffice文档管理系统实战 20240906 上课笔记 整合权限校验中间件的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1144678

相关文章

C#如何在Excel文档中获取分页信息

《C#如何在Excel文档中获取分页信息》在日常工作中,我们经常需要处理大量的Excel数据,本文将深入探讨如何利用Spire.XLSfor.NET,高效准确地获取Excel文档中的分页信息,包括水平... 目录理解Excel中的分页机制借助 Spire.XLS for .NET 获取分页信息为什么选择 S

Java利用Spire.XLS for Java自动化设置Excel的文档属性

《Java利用Spire.XLSforJava自动化设置Excel的文档属性》一个专业的Excel文件,其文档属性往往能大大提升文件的可管理性和可检索性,下面我们就来看看Java如何使用Spire... 目录Spire.XLS for Java 库介绍与安装Java 设置内置的 Excel 文档属性Java

SpringBoot整合 Quartz实现定时推送实战指南

《SpringBoot整合Quartz实现定时推送实战指南》文章介绍了SpringBoot中使用Quartz动态定时任务和任务持久化实现多条不确定结束时间并提前N分钟推送的方案,本文结合实例代码给大... 目录前言一、Quartz 是什么?1、核心定位:解决什么问题?2、Quartz 核心组件二、使用步骤1

Python自动化提取多个Word文档的文本

《Python自动化提取多个Word文档的文本》在日常工作和学习中,我们经常需要处理大量的Word文档,本文将深入探讨如何利用Python批量提取Word文档中的文本内容,帮助你解放生产力,感兴趣的小... 目录为什么需要批量提取Word文档文本批量提取Word文本的核心技术与工具安装 Spire.Doc

C#高效实现在Word文档中自动化创建图表的可视化方案

《C#高效实现在Word文档中自动化创建图表的可视化方案》本文将深入探讨如何利用C#,结合一款功能强大的第三方库,实现在Word文档中自动化创建图表,为你的数据呈现和报告生成提供一套实用且高效的解决方... 目录Word文档图表自动化:为什么选择C#?从零开始:C#实现Word文档图表的基本步骤深度优化:C

SpringBoot整合AOP及使用案例实战

《SpringBoot整合AOP及使用案例实战》本文详细介绍了SpringAOP中的切入点表达式,重点讲解了execution表达式的语法和用法,通过案例实战,展示了AOP的基本使用、结合自定义注解以... 目录一、 引入依赖二、切入点表达式详解三、案例实战1. AOP基本使用2. AOP结合自定义注解3.

使用Python将PDF表格自动提取并写入Word文档表格

《使用Python将PDF表格自动提取并写入Word文档表格》在实际办公与数据处理场景中,PDF文件里的表格往往无法直接复制到Word中,本文将介绍如何使用Python从PDF文件中提取表格数据,并将... 目录引言1. 加载 PDF 文件并准备 Word 文档2. 提取 PDF 表格并创建 Word 表格

HTML5的input标签的`type`属性值详解和代码示例

《HTML5的input标签的`type`属性值详解和代码示例》HTML5的`input`标签提供了多种`type`属性值,用于创建不同类型的输入控件,满足用户输入的多样化需求,从文本输入、密码输入、... 目录一、引言二、文本类输入类型2.1 text2.2 password2.3 textarea(严格

SpringBoot简单整合ElasticSearch实践

《SpringBoot简单整合ElasticSearch实践》Elasticsearch支持结构化和非结构化数据检索,通过索引创建和倒排索引文档,提高搜索效率,它基于Lucene封装,分为索引库、类型... 目录一:ElasticSearch支持对结构化和非结构化的数据进行检索二:ES的核心概念Index:

C#借助Spire.XLS for .NET实现在Excel中添加文档属性

《C#借助Spire.XLSfor.NET实现在Excel中添加文档属性》在日常的数据处理和项目管理中,Excel文档扮演着举足轻重的角色,本文将深入探讨如何在C#中借助强大的第三方库Spire.... 目录为什么需要程序化添加Excel文档属性使用Spire.XLS for .NET库实现文档属性管理Sp