【个人博客搭建】(11)swagger添加jwt信息

news/2024/9/25 2:30:25/

这个主要是为了方便使用swagger时,能更好的带入我们的token。

ps:如果使用其他第三方api工具(apipost、postman等)则不需要。

(当然,不用不能没有,是吧)

1、在AddSwaggerGen内添加代码

    var itemName = "plateau.poetize.blog.webapi";//把jwt加入到swagger中c.AddSecurityDefinition(itemName, new OpenApiSecurityScheme{Description = "请输入token,格式为 【Bearer JWT字符串】(注意中间必须有空格)",Name = "Authorization",//jwt默认的参数名称In = ParameterLocation.Header,//jwt默认放入请求头中Type = SecuritySchemeType.ApiKey,BearerFormat = "JWT",Scheme = "Bearer"});//swagger遵守jwt授权协议c.AddSecurityRequirement(new OpenApiSecurityRequirement{{new OpenApiSecurityScheme {Reference = new OpenApiReference{Type = ReferenceType.SecurityScheme,Id = itemName}},new string [] {}}});

2、运行后:

运行后,接口这就有了一个按钮,点击就会弹出一个可输入token的界面,在输入框中输入需要的格式即可。

3、测试权限:

/// <summary>/// 测试权限1(需要token)/// </summary>/// <returns></returns>[Authorize][HttpGet]public string Test(){return "ok!  1";}/// <summary>/// 测试权限2 (无权限要求)/// </summary>/// <returns></returns>[AllowAnonymous][HttpGet]public string Test2(){return "ok!  2";}

 其中标注了 [Authorize]的代表需要token,[AllowAnonymous]则不需要

记得注入服务:(在app.MapControllers();之前的位置)

app.UseAuthentication();
app.UseAuthorization();

4、测试。(这里已测试过了,已通过。就不在贴图了,去写下一篇博客了,有问题可以评论联系我哦)

5、拓展:

        5.1、是否可以加登录才可以查看这些列表呢?

        5.2、屏蔽特定的接口或者控制器(实际可以用,但是不可见)


http://www.ppmy.cn/news/1438364.html

相关文章

php动态高亮web源代码

php动态高亮web源代码 注&#xff1a;配置好不允许高亮的文件名&#xff0c;安全第一 #php实现动态展示目录树结构源代码 适用于开放源代码&#xff0c;结合html缓存使用效果更佳&#xff0c;因循环较多不适合放首页 能力有限没实现行号 效果截图 代码 4个文件放统一目录…

爱普生发布一款16位MCU产品用于大电流LED驱动

精工爱普生发布一款内置Flash存储器的16位微控制器S1C17M13 该新品可以提供最大56mA的驱动电流用于驱动发光二极管(LED) 以往爱普生的微处理器大多继承了液晶驱动器电路&#xff0c;但近来随着工业自动化和家用设备使用7段LED显示的数量大幅增加&#xff0c;爱普生也推出了对应…

springboot+vue新疆肉牛智慧牧场养殖系统

系统涉及的对象是奶牛。 系统使用员工有管理员和普通员工。 管理员有修改的权限&#xff0c;普通员工没有。 系统需要包含奶牛的编号&#xff0c;种类&#xff0c;体重&#xff0c;健康情况、生长情况、牛奶产量&#xff0c;以及上次更新数据时间等信息&#xff0c;管理员可以对…

前端HTML面试题:meta 元素都有什么

在HTML中&#xff0c;<meta> 元素是一个非常重要且常用的元素&#xff0c;它用于表示关于HTML文档的元数据&#xff08;metadata&#xff09;&#xff0c;这些元数据不会直接显示在页面上&#xff0c;但可以被浏览器以及其他网页服务利用。在前端开发的面试中&#xff0c…

金融风控信用评分卡建模(Kaggle give me credit数据集)

1 数据预处理数据 数据来源于Kaggle的Give Me Some Credit&#xff0c;包括25万条个人财务情况的样本数据 1.1 导包读数据 import pandas as pd import numpy as np import matplotlib.pyplot as plt from sklearn.ensemble import RandomForestRegressor import seaborn as …

Redis篇:缓存雪崩及解决方案

1.何为缓存雪崩 缓存雪崩是指在同一时段大量的缓存key同时失效或者Redis服务宕机&#xff0c;导致大量请求到达数据库&#xff0c;带来巨大压力。 2.缓存雪崩的解决方案 解决方案&#xff1a; 给不同的Key的TTL添加随机值 利用Redis集群提高服务的可用性 给缓存业务添加降级…

新手Pytorch入门笔记-transforms.Compose()

我使用的图片是上图&#xff0c;直接下载即可 transforms.Compose 是PyTorch中的一个实用工具&#xff0c;用于创建一个包含多个数据变换操作的变换对象。这些变换操作通常用于数据预处理&#xff0c;例如图像数据的缩放、裁剪、旋转等。使用transforms.Compose 可以将多个数据…

常用路由交换协议

常用路由交换协议 协议汇总优秀博客参考资料 协议汇总 路由协议原理优点缺点使用场景华为配置示例静态路由网络管理员手动配置路由信息配置简单&#xff0c;安全性高不适应网络变化&#xff0c;管理复杂小型网络或不常变化的环境system-viewip route-static 目的网段 掩码 下一…